Merge "Update annotations to spec for portal"
[oom.git] / kubernetes / log / templates / elasticsearch-deployment.yaml
1 #{{ if not .Values.disableLogElasticsearch }}
2 apiVersion: extensions/v1beta1
3 kind: Deployment
4 metadata:
5   labels:
6     app: elasticsearch
7   name: elasticsearch
8   namespace: {{ .Values.nsPrefix }}-log
9 spec:
10   selector:
11     matchLabels:
12       app: elasticsearch
13   template:
14     metadata:
15       labels:
16         app: elasticsearch
17       name: elasticsearch
18     spec:
19       initContainers:
20       - command:
21         - sysctl
22         - -w
23         - vm.max_map_count=262144
24         env:
25         - name: NAMESPACE
26           valueFrom:
27             fieldRef:
28               apiVersion: v1
29               fieldPath: metadata.namespace
30         securityContext:
31           privileged: true
32         image: {{ .Values.image.es_bb }}
33         imagePullPolicy: {{ .Values.pullPolicy }}
34         name: init-sysctl
35       containers:
36       - name: elasticsearch
37         image: {{ .Values.image.elasticsearch}}
38         ports:
39         - containerPort: 9200
40           name: http
41           protocol: TCP
42         - containerPort: 9300
43           name: transport
44           protocol: TCP
45         readinessProbe:
46           tcpSocket:
47             port: 9300
48         volumeMounts:
49          - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
50            name: elasticsearch-conf
51            subPath: elasticsearch.yml
52          - mountPath: /usr/share/elasticsearch/data/
53            name: elasticsearch-data
54          - mountPath: /usr/share/elasticsearch/logs/
55            name: elasticsearch-logs
56       volumes:
57         - name: elasticsearch-data
58           persistentVolumeClaim:
59             claimName: elasticsearch-db
60         - name: elasticsearch-logs
61           hostPath:
62             path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/logs
63         - name: elasticsearch-conf
64           configMap:
65             name: elasticsearch-configmap
66             items:
67             - key: elasticsearch.yml
68               path: elasticsearch.yml
69 ---
70 apiVersion: v1
71 kind: ConfigMap
72 metadata:
73   name: elasticsearch-configmap
74   namespace: {{ .Values.nsPrefix }}-log
75 data:
76 {{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }}
77 #{{ end }}
78