-
Notifications
You must be signed in to change notification settings - Fork 113
/
Copy pathes-data.yaml.tmpl
120 lines (120 loc) · 3.25 KB
/
es-data.yaml.tmpl
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: es-data
labels:
component: elasticsearch
role: data
spec:
replicas: ${ES_DATA_REPLICAS}
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
template:
metadata:
labels:
component: elasticsearch
role: data
annotations:
scheduler.alpha.kubernetes.io/affinity: |
{
\"podAntiAffinity\": {
\"requiredDuringSchedulingIgnoredDuringExecution\": [
{
\"labelSelector\": {
\"matchLabels\": {
\"component\": \"elasticsearch\",
\"role\": \"data\"
}
},
\"topologyKey\": \"kubernetes.io/hostname\"
}
]
}
}
spec:
containers:
- name: es-data
securityContext:
privileged: true
capabilities:
add:
- IPC_LOCK
image: kayrus/docker-elasticsearch-kubernetes:2.4.4
args:
- /run.sh
- -Des.path.conf=/etc/elasticsearch
readinessProbe:
tcpSocket:
port: 9300
timeoutSeconds: 1
successThreshold: 3
imagePullPolicy: Always
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CLUSTER_NAME
valueFrom:
configMapKeyRef:
name: es-env
key: es-cluster-name
- name: NUMBER_OF_REPLICAS
valueFrom:
configMapKeyRef:
name: es-env
key: es-number-of-replicas
- name: NODE_MASTER
value: 'false'
- name: NODE_DATA
value: 'true'
- name: HTTP_ENABLE
value: 'false'
- name: ES_HEAP_SIZE
valueFrom:
configMapKeyRef:
name: es-env
key: es-data-heap
- name: ES_CLIENT_ENDPOINT
valueFrom:
configMapKeyRef:
name: es-env
key: es-client-endpoint
- name: ES_PERSISTENT
valueFrom:
configMapKeyRef:
name: es-env
key: es-persistent-storage
ports:
- name: transport
containerPort: 9300
protocol: TCP
# Random hostPort to prevent multiple ES data instances on one node
- name: dummy
containerPort: 28651
protocol: TCP
hostPort: 28651
volumeMounts:
- name: storage
mountPath: /data
- name: es-config
mountPath: /etc/elasticsearch
# /pre-stop-hook.sh hook is already used in /run.sh on pod shutdown
#lifecycle:
# preStop:
# exec:
# command:
# - '/pre-stop-hook.sh'
# Wait infinite, we have to move all indices from the current node and only after that shut down the pod
terminationGracePeriodSeconds: 31557600
volumes:
- name: storage
emptyDir: {}
- name: es-config
configMap:
name: es-config
nodeSelector:
elasticsearch.data: 'true'