betelgeusebytes/k8s/elastic/elasticsearch.yaml

39 lines
1.2 KiB
YAML

apiVersion: v1
kind: Service
metadata: { name: elasticsearch, namespace: elastic }
spec:
ports:
- { name: http, port: 9200, targetPort: 9200 }
- { name: transport, port: 9300, targetPort: 9300 }
selector: { app: elasticsearch }
---
apiVersion: apps/v1
kind: StatefulSet
metadata: { name: elasticsearch, namespace: elastic }
spec:
serviceName: elasticsearch
replicas: 1
selector: { matchLabels: { app: elasticsearch } }
template:
metadata: { labels: { app: elasticsearch } }
spec:
nodeSelector: { node: hetzner-2 }
containers:
- name: es
image: docker.elastic.co/elasticsearch/elasticsearch:8.14.0
env:
- { name: discovery.type, value: single-node }
- { name: xpack.security.enabled, value: "false" }
- { name: ES_JAVA_OPTS, value: "-Xms2g -Xmx2g" }
ports:
- { containerPort: 9200 }
- { containerPort: 9300 }
volumeMounts:
- { name: data, mountPath: /usr/share/elasticsearch/data }
volumeClaimTemplates:
- metadata: { name: data }
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: local-ssd-hetzner
resources: { requests: { storage: 80Gi } }