apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch namespace: bytedesk labels: app: elasticsearch spec: replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.18.0 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport env: - name: node.name value: "bytedesk-es01" - name: cluster.name value: "bytedesk-es-cluster" - name: discovery.type value: "single-node" - name: bootstrap.memory_lock value: "true" - name: ES_JAVA_OPTS value: "-Xms512m -Xmx512m" - name: xpack.security.enabled value: "true" - name: ELASTIC_PASSWORD valueFrom: secretKeyRef: name: bytedesk-secrets key: elasticsearch-password volumeMounts: - name: elasticsearch-data mountPath: /usr/share/elasticsearch/data resources: requests: memory: "1Gi" cpu: "500m" limits: memory: "2Gi" cpu: "1000m" securityContext: capabilities: add: - IPC_LOCK livenessProbe: httpGet: path: /_cluster/health port: 9200 initialDelaySeconds: 60 periodSeconds: 30 readinessProbe: httpGet: path: /_cluster/health port: 9200 initialDelaySeconds: 30 periodSeconds: 10 volumes: - name: elasticsearch-data persistentVolumeClaim: claimName: elasticsearch-pvc