summaryrefslogtreecommitdiffstats
path: root/kubernetes/log/templates/elasticsearch-deployment.yaml
blob: c123df1daaff95d15bb689c4adbcc9c6a0067b3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#{{ if not .Values.disableLogElasticsearch }}
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: 9300
        volumeMounts:
         - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
           name: elasticsearch-conf
           subPath: elasticsearch.yml
         - 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 }}
#{{ end }}