diff --git a/kubernetes/50-elasticsearch.yml b/kubernetes/50-elasticsearch.yml index 51b6460..42cd33d 100644 --- a/kubernetes/50-elasticsearch.yml +++ b/kubernetes/50-elasticsearch.yml @@ -1,88 +1,107 @@ --- apiVersion: v1 kind: PersistentVolume metadata: name: elasticsearch-data-pv spec: capacity: storage: 1Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: elasticsearch-data-pv local: - path: /srv/softwareheritage-kube/dev/elasticsearch/nodes + path: /srv/softwareheritage-kube/dev/elasticsearch nodeAffinity: required: nodeSelectorTerms: - matchExpressions: # TODO adapt for your needs - key: kubernetes.io/os operator: In values: - linux --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: elasticsearch-data-pvc spec: accessModes: - ReadWriteOnce storageClassName: elasticsearch-data-pv resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch labels: app: elasticsearch spec: replicas: 1 + strategy: + type: Recreate selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: elasticsearch:7.9.3 imagePullPolicy: Always ports: - containerPort: 9200 resources: requests: memory: "768Mi" cpu: "50m" limits: memory: "2048Mi" cpu: "1000m" env: - name: discovery.type value: single-node + - name: ES_JAVA_OPTS + value: "-Xms512m -Xmx512m" volumeMounts: - mountPath: "/data" name: elasticsearch-data-pvc + readinessProbe: + httpGet: + path: / + port: 9200 + scheme: "HTTP" + failureThreshold: 5 + periodSeconds: 1 + startupProbe: + httpGet: + path: / + port: 9200 + scheme: "HTTP" + initialDelaySeconds: 5 + failureThreshold: 60 + periodSeconds: 2 volumes: - name: elasticsearch-data-pvc persistentVolumeClaim: claimName: elasticsearch-data-pvc --- apiVersion: v1 kind: Service metadata: name: elasticsearch spec: type: ClusterIP selector: app: elasticsearch ports: - port: 9200 targetPort: 9200