apiVersion: v1 kind: ConfigMap metadata: labels: product: k8s-elastic name: elastic-config data: elasticsearch.yaml: | discovery.type: single-node --- apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch spec: selector: matchLabels: run: elasticsearch template: metadata: labels: name: elasticsearch run: elasticsearch spec: initContainers: - name: set-vm-sync-limit image: busybox imagePullPolicy: IfNotPresent command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1 name: elasticsearch imagePullPolicy: IfNotPresent ports: - containerPort: 9200 protocol: TCP volumeMounts: - name: elastic-config mountPath: /etc/elasticsearch/elasticsearch.yaml subPath: elasticsearch.yaml volumes: - name: elastic-config configMap: name: elastic-config --- apiVersion: v1 kind: Service metadata: name: elasticsearch labels: run: elasticsearch spec: ports: - port: 9200 targetPort: 9200 protocol: TCP selector: run: elasticsearch type: ClusterIP