apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch namespace: elk-stack spec: serviceName: elasticsearch replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.11.0 ports: - containerPort: 9200 - containerPort: 9300 env: - name: discovery.type value: single-node - name: xpack.security.enabled value: "false" - name: ES_JAVA_OPTS value: "-Xms512m -Xmx512m" volumeMounts: - name: elasticsearch-data mountPath: /usr/share/elasticsearch/data - name: elasticsearch-config mountPath: /usr/share/elasticsearch/config/elasticsearch.yml subPath: elasticsearch.yml volumes: - name: elasticsearch-data persistentVolumeClaim: claimName: elasticsearch-data - name: elasticsearch-config configMap: name: elasticsearch-config --- apiVersion: v1 kind: Service metadata: name: elasticsearch namespace: elk-stack spec: type: ClusterIP selector: app: elasticsearch ports: - name: http port: 9200 targetPort: 9200 - name: transport port: 9300 targetPort: 9300