Seed of deployment of log components
[oom.git] / kubernetes / log / templates / elasticsearch-deployment.yaml
diff --git a/kubernetes/log/templates/elasticsearch-deployment.yaml b/kubernetes/log/templates/elasticsearch-deployment.yaml
new file mode 100644 (file)
index 0000000..75df8a1
--- /dev/null
@@ -0,0 +1,81 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  labels:
+    app: elasticsearch
+  name: elasticsearch
+  namespace: {{ .Values.nsPrefix }}-log
+spec:
+  selector:
+    matchLabels:
+      app: elasticsearch
+  template:
+    metadata:
+      labels:
+        app: elasticsearch
+      name: elasticsearch
+      annotations:
+        pod.beta.kubernetes.io/init-containers: '[
+          {
+              "command": ["sysctl", "-w", "vm.max_map_count=262144"],
+              "env": [
+                  {
+                      "name": "NAMESPACE",
+                      "valueFrom": {
+                          "fieldRef": {
+                              "apiVersion": "v1",
+                              "fieldPath": "metadata.namespace"
+                          }
+                      }
+                  }
+              ],
+              "securityContext": {
+                "privileged": true
+              },
+              "image": "{{ .Values.image.es_bb }}",
+              "imagePullPolicy": "{{ .Values.pullPolicy }}",
+              "name": "init-sysctl"
+          }
+          ]'
+    spec:
+      containers:
+      - name: elasticsearch
+        image: {{ .Values.image.elasticsearch}}
+        ports:
+        - containerPort: 9200
+          name: http
+          protocol: TCP
+        - containerPort: 9300
+          name: transport
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 9200
+        volumeMounts:
+         - mountPath: /usr/share/elasticsearch/conf/
+           name: elasticsearch-conf
+         - mountPath: /usr/share/elasticsearch/data/
+           name: elasticsearch-data
+         - mountPath: /usr/share/elasticsearch/logs/
+           name: elasticsearch-logs
+      volumes:
+        - name: elasticsearch-data
+          persistentVolumeClaim:
+            claimName: elasticsearch-db
+        - name: elasticsearch-logs
+          hostPath:
+            path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/logs
+        - name: elasticsearch-conf
+          configMap:
+            name: elasticsearch-configmap
+            items:
+            - key: elasticsearch.yml
+              path: elasticsearch.yml
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: elasticsearch-configmap
+  namespace: {{ .Values.nsPrefix }}-log
+data:
+{{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }}
\ No newline at end of file