Unverified Commit efbbdbc7 authored by Matt Pryor's avatar Matt Pryor Committed by GitHub
Browse files

Merge pull request #137 from ESGF/issue/135/solr-persistence

Solr persistence for Kubernetes
parents 218a03ac d6c3f80d
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ metadata:
    {{ include "esgf.component.labels" (list . "solr" $solr.labels) | indent 4 | trim }}
    solr.esgf.org/role: "master"
spec:
  # Solr shards can currently only have one replica
  # Solr instances can currently only have one replica
  replicas: 1
  # To ensure there are no issues with two pods writing to the same cores, make sure old
  # pods are killed before new ones are started
@@ -73,12 +73,19 @@ spec:
      tolerations: {{ toYaml . | nindent 8 }}
      {{- end }}
      volumes:
        # If persistence is enabled, use the provisioned pvc for solr-home
        # If not, use an ephemeral volume
        - name: solr-home
          {{- if $solr.persistence.enabled }}
          persistentVolumeClaim:
            claimName: {{ include "esgf.component.fullname" (list . "solr" "master") }}
          {{- else }}
          emptyDir: {}
          {{- end }}
        # In order to allow the filesystem to be read-only, mount ephemeral volumes
        # in places where writes are expected
        - name: tmp
          emptyDir: {}
        - name: solr-logs
          emptyDir: {}
        - name: solr-home
          emptyDir: {}
{{- end -}}
+22 −0
Original line number Diff line number Diff line
{{- $solr := .Values.index.solr -}}
{{- if and .Values.index.enabled $solr.enabled $solr.persistence.enabled -}}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: {{ include "esgf.component.fullname" (list . "solr" "master") }}
  labels:
    {{ include "esgf.component.labels" (list . "solr" $solr.labels) | indent 4 | trim }}
    solr.esgf.org/role: "master"
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: {{ $solr.persistence.size.master }}
  {{- if kindIs "string" $solr.persistence.storageClassName }}
  storageClassName: {{ $solr.persistence.storageClassName | quote }}
  {{- end }}
  {{- with $solr.persistence.selector }}
  selector: {{ toYaml . | nindent 10 }}
  {{- end }}
{{- end }}
+10 −3
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ metadata:
    solr.esgf.org/role: "replica"
    solr.esgf.org/replica-name: {{ $replica.name }}
spec:
  # Solr shards can currently only have one replica
  # Solr instances can currently only have one replica
  replicas: 1
  # To ensure there are no issues with two pods writing to the same cores, make sure old
  # pods are killed before new ones are started
@@ -81,13 +81,20 @@ spec:
      tolerations: {{ toYaml . | nindent 8 }}
      {{- end }}
      volumes:
        # If persistence is enabled, use the provisioned pvc for solr-home
        # If not, use an ephemeral volume
        - name: solr-home
          {{- if $solr.persistence.enabled }}
          persistentVolumeClaim:
            claimName: {{ include "esgf.component.fullname" (list $ "solr" $replica.name) }}
          {{- else }}
          emptyDir: {}
          {{- end }}
        # In order to allow the filesystem to be read-only, mount ephemeral volumes
        # in places where writes are expected
        - name: tmp
          emptyDir: {}
        - name: solr-logs
          emptyDir: {}
        - name: solr-home
          emptyDir: {}
{{- end -}}
{{- end -}}
+26 −0
Original line number Diff line number Diff line
{{- $solr := .Values.index.solr -}}
{{- if and .Values.index.enabled $solr.enabled $solr.persistence.enabled -}}
{{- range $index, $replica := $solr.replicas -}}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: {{ include "esgf.component.fullname" (list $ "solr" $replica.name) }}
  labels:
    {{ include "esgf.component.labels" (list $ "solr" $solr.labels) | indent 4 | trim }}
    solr.esgf.org/role: "replica"
    solr.esgf.org/replica-name: {{ $replica.name }}
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: {{ $replica.persistentVolumeSize | default $solr.persistence.size.replica }}
  {{- if kindIs "string" $solr.persistence.storageClassName }}
  storageClassName: {{ $solr.persistence.storageClassName | quote }}
  {{- end }}
  {{- with $solr.persistence.selector }}
  selector: {{ toYaml . | nindent 10 }}
  {{- end }}
{{- end -}}
{{- end -}}
+10 −3
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ metadata:
    {{ include "esgf.component.labels" (list . "solr" $solr.labels) | indent 4 | trim }}
    solr.esgf.org/role: "slave"
spec:
  # Solr shards can currently only have one replica
  # Solr instances can currently only have one replica
  replicas: 1
  # To ensure there are no issues with two pods writing to the same cores, make sure old
  # pods are killed before new ones are started
@@ -79,12 +79,19 @@ spec:
      tolerations: {{ toYaml . | nindent 8 }}
      {{- end }}
      volumes:
        # If persistence is enabled, use the provisioned pvc for solr-home
        # If not, use an ephemeral volume
        - name: solr-home
          {{- if $solr.persistence.enabled }}
          persistentVolumeClaim:
            claimName: {{ include "esgf.component.fullname" (list . "solr" "slave") }}
          {{- else }}
          emptyDir: {}
          {{- end }}
        # In order to allow the filesystem to be read-only, mount ephemeral volumes
        # in places where writes are expected
        - name: tmp
          emptyDir: {}
        - name: solr-logs
          emptyDir: {}
        - name: solr-home
          emptyDir: {}
{{- end -}}
Loading