Last active
August 9, 2018 15:09
-
-
Save owainlewis/8171a0fc123643fbf5908a69b71f343d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: StatefulSet | |
metadata: | |
name: elasticsearch | |
labels: | |
service: elasticsearch | |
spec: | |
serviceName: es | |
replicas: 2 | |
selector: | |
matchLabels: | |
service: elasticsearch | |
template: | |
metadata: | |
labels: | |
service: elasticsearch | |
spec: | |
terminationGracePeriodSeconds: 300 | |
initContainers: | |
# NOTE: | |
# This is to fix the permission on the volume | |
# By default elasticsearch container is not run as | |
# non root user. | |
# https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_notes_for_production_use_and_defaults | |
- name: fix-the-volume-permission | |
image: busybox | |
command: | |
- sh | |
- -c | |
- chown -R 1000:1000 /usr/share/elasticsearch/data | |
securityContext: | |
privileged: true | |
volumeMounts: | |
- name: data | |
mountPath: /usr/share/elasticsearch/data | |
# NOTE: | |
# To increase the default vm.max_map_count to 262144 | |
# https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode | |
- name: increase-the-vm-max-map-count | |
image: busybox | |
command: | |
- sysctl | |
- -w | |
- vm.max_map_count=262144 | |
securityContext: | |
privileged: true | |
# To increase the ulimit | |
# https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_notes_for_production_use_and_defaults | |
- name: increase-the-ulimit | |
image: busybox | |
command: | |
- sh | |
- -c | |
- ulimit -n 65536 | |
securityContext: | |
privileged: true | |
containers: | |
- name: elasticsearch | |
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4 | |
ports: | |
- containerPort: 9200 | |
name: http | |
- containerPort: 9300 | |
name: tcp | |
# NOTE: you can increase this resources | |
resources: | |
requests: | |
memory: 8Gi | |
limits: | |
memory: 16Gi | |
env: | |
# NOTE: the cluster name; update this | |
- name: cluster.name | |
value: elasticsearch-cluster | |
- name: node.name | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
# NOTE: This will tell the elasticsearch node where to connect to other nodes to form a cluster | |
- name: discovery.zen.ping.unicast.hosts | |
value: "elasticsearch-0.es.default.svc.cluster.local,elasticsearch-1.es.default.svc.cluster.local,elasticsearch-2.es.default.svc.cluster.local,elasticsearch-3.es.default.svc.cluster.local,elasticsearch-4.es.default.svc.cluster.local" | |
- name: ES_JAVA_OPTS | |
value: "-Xms4g -Xmx4g" | |
volumeMounts: | |
- name: data | |
mountPath: /usr/share/elasticsearch/data | |
volumeClaimTemplates: | |
- metadata: | |
name: data | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
storageClassName: oci | |
# NOTE: You can increase the storage size | |
resources: | |
requests: | |
storage: 500Gi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: es | |
labels: | |
service: elasticsearch | |
spec: | |
clusterIP: None | |
ports: | |
- port: 9200 | |
name: serving | |
- port: 9300 | |
name: node-to-node | |
selector: | |
service: elasticsearch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment