blob: 5070f24ba39d06f58ce7da5cc3b0b2256c68182d [file] [log] [blame]
ac25508ac97172018-04-18 14:23:17 +02001# Copyright © 2017 Amdocs, Bell Canada
Mukul379e2522018-09-05 12:26:02 +00002# Modifications Copyright © 2018 AT&T
ac25508ac97172018-04-18 14:23:17 +02003#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
ac25508ac97172018-04-18 14:23:17 +020015
16apiVersion: extensions/v1beta1
17kind: Deployment
18metadata:
19 name: {{ include "common.fullname" . }}
20 namespace: {{ include "common.namespace" . }}
21 labels:
22 app: {{ include "common.name" . }}
23 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
24 release: {{ .Release.Name }}
25 heritage: {{ .Release.Service }}
26spec:
27 replicas: {{ .Values.replicaCount }}
28 template:
29 metadata:
30 labels:
31 app: {{ include "common.name" . }}
32 release: {{ .Release.Name }}
33 spec:
34 initContainers:
35 - command:
36 - /bin/sh
37 - -c
38 - |
39 sysctl -w vm.max_map_count=262144
40 mkdir -p /usr/share/elasticsearch/logs
41 mkdir -p /usr/share/elasticsearch/data
42 chmod -R 777 /usr/share/elasticsearch
43 env:
44 - name: NAMESPACE
45 valueFrom:
46 fieldRef:
47 apiVersion: v1
48 fieldPath: metadata.namespace
49 securityContext:
50 privileged: true
51 image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.busyboxImage }}
52 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
53 name: init-sysctl
54 volumeMounts:
55 - name: {{ include "common.fullname" . }}-logs
56 mountPath: /usr/share/elasticsearch/logs/
57 - name: {{ include "common.fullname" . }}-data
58 mountPath: /usr/share/elasticsearch/data/
59 containers:
60 - name: {{ include "common.name" . }}
sebdet6336f332019-08-26 07:51:23 -070061 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
ac25508ac97172018-04-18 14:23:17 +020062 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
63 ports:
64 - containerPort: {{ .Values.service.internalPort }}
65 name: {{ include "common.servicename" . }}
66 - containerPort: {{ .Values.service.internalPort2 }}
67 name: {{ include "common.servicename" . }}2
68# disable liveness probe when breakpoints set in debugger
69 # so K8s doesn't restart unresponsive container
70 {{- if eq .Values.liveness.enabled true }}
71 livenessProbe:
72 tcpSocket:
73 port: {{ .Values.service.internalPort }}
74 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
75 periodSeconds: {{ .Values.liveness.periodSeconds }}
76 {{ end -}}
77 readinessProbe:
78 tcpSocket:
79 port: {{ .Values.service.internalPort2 }}
80 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
81 periodSeconds: {{ .Values.readiness.periodSeconds }}
82 env:
83 volumeMounts:
84 - mountPath: /etc/localtime
85 name: localtime
86 readOnly: true
87 - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
88 name: {{ include "common.fullname" . }}-config
89 subPath: elasticsearch.yml
90 - mountPath: /usr/share/elasticsearch/data/
91 name: {{ include "common.fullname" . }}-data
92 resources:
Mandeep Khinda5e3f36a2018-09-24 15:25:42 +000093{{ include "common.resources" . | indent 12 }}
ac25508ac97172018-04-18 14:23:17 +020094 {{- if .Values.nodeSelector }}
95 nodeSelector:
96{{ toYaml .Values.nodeSelector | indent 10 }}
97 {{- end -}}
98 {{- if .Values.affinity }}
99 affinity:
100{{ toYaml .Values.affinity | indent 10 }}
101 {{- end }}
102 volumes:
103 - name: localtime
104 hostPath:
105 path: /etc/localtime
106 - name: {{ include "common.fullname" . }}-config
107 configMap:
108 name: {{ include "common.fullname" . }}-configmap
109 items:
110 - key: elasticsearch.yml
111 path: elasticsearch.yml
112 - name: {{ include "common.fullname" . }}-data
113 persistentVolumeClaim:
114 claimName: {{ include "common.fullname" . }}
115 - name: {{ include "common.fullname" . }}-logs
116 hostPath:
117 path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPathLogs }}
118 imagePullSecrets:
119 - name: "{{ include "common.namespace" . }}-docker-registry-key"