blob: 28c9711e847c205047b13b16307ec254758a25ce [file] [log] [blame]
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -04001## As weighted quorums are not supported, it is imperative that an odd number of replicas
2## be chosen. Moreover, the number of replicas should be either 1, 3, 5, or 7.
3##
4## ref: https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper#stateful-set
5replicaCount: 3 # Desired quantity of ZooKeeper pods. This should always be (1,3,5, or 7)
6
7podDisruptionBudget:
8 maxUnavailable: 1 # Limits how many Zokeeper pods may be unavailable due to voluntary disruptions.
9
10terminationGracePeriodSeconds: 1800 # Duration in seconds a Zokeeper pod needs to terminate gracefully.
11
12## OnDelete requires you to manually delete each pod when making updates.
13## This approach is at the moment safer than RollingUpdate because replication
14## may be incomplete when replication source pod is killed.
15##
16## ref: http://blog.kubernetes.io/2017/09/kubernetes-statefulsets-daemonsets.html
17updateStrategy:
18 type: OnDelete # Pods will only be created when you manually delete old pods.
19
20## refs:
21## - https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper
22## - https://github.com/kubernetes/contrib/blob/master/statefulsets/zookeeper/Makefile#L1
23image:
24 #repository: nexus3.onap.org:10001/library/zookeeper
25 #tag: 3.3
26 repository: gcr.io/google_samples/k8szk # Container image repository for zookeeper container.
27 tag: v3 # Container image tag for zookeeper container.
28 pullPolicy: IfNotPresent # Image pull criteria for zookeeper container.
29
30service:
31 name: zookeeper
32 type: ClusterIP # Exposes zookeeper on a cluster-internal IP.
33 annotations: {} # Arbitrary non-identifying metadata for zookeeper service.
34 ## AWS example for use with LoadBalancer service type.
35 # external-dns.alpha.kubernetes.io/hostname: zookeeper.cluster.local
36 # service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
37 # service.beta.kubernetes.io/aws-load-balancer-internal: "true"
38 ports:
39 client:
40 port: 2181 # Service port number for client port.
41 targetPort: client # Service target port for client port.
42 protocol: TCP # Service port protocol for client port.
43
44
45ports:
46 client:
47 containerPort: 2181 # Port number for zookeeper container client port.
48 protocol: TCP # Protocol for zookeeper container client port.
49 election:
50 containerPort: 3888 # Port number for zookeeper container election port.
51 protocol: TCP # Protocol for zookeeper container election port.
52 server:
53 containerPort: 2888 # Port number for zookeeper container server port.
54 protocol: TCP # Protocol for zookeeper container server port.
55
56# Resource Limit flavor -By Default using small
Sylvain Desbureaux5ad860d2019-10-29 18:00:15 +010057flavor: small
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -040058# Segregation for Different environment (Small and Large)
59resources:
60 small:
61 limits:
Sylvain Desbureaux5ad860d2019-10-29 18:00:15 +010062 cpu: 500m
63 memory: 900Mi
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -040064 requests:
Sylvain Desbureaux5ad860d2019-10-29 18:00:15 +010065 cpu: 10m
66 memory: 730Mi
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -040067 large:
68 limits:
69 cpu: 3
70 memory: 2Gi
71 requests:
Sylvain Desbureaux5ad860d2019-10-29 18:00:15 +010072 cpu: 2
73 memory: 1Gi
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -040074 unlimited: {}
75
76nodeSelector: {} # Node label-values required to run zookeeper pods.
77
78tolerations: [] # Node taint overrides for zookeeper pods.
79
80affinity: {} # Criteria by which pod label-values influence scheduling for zookeeper pods.
Sylvain Desbureaux5ad860d2019-10-29 18:00:15 +010081affinity:
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -040082 podAntiAffinity:
83 requiredDuringSchedulingIgnoredDuringExecution:
84 - topologyKey: "kubernetes.io/hostname"
85 labelSelector:
86 matchLabels:
87 release: zookeeper
88
89podAnnotations: {} # Arbitrary non-identifying metadata for zookeeper pods.
90
91podLabels: {} # Key/value pairs that are attached to zookeeper pods.
92
93livenessProbe:
94 exec:
95 command:
96 - zkOk.sh
97 initialDelaySeconds: 20
98
99readinessProbe:
100 exec:
101 command:
102 - zkOk.sh
103 initialDelaySeconds: 20
104
105securityContext:
106 fsGroup: 1000
107 #runAsUser: 1000
108
109persistence:
110 enabled: true
111 ## zookeeper data Persistent Volume Storage Class
112 ## If defined, storageClassName: <storageClass>
113 ## If set to "-", storageClassName: "", which disables dynamic provisioning
114 ## If undefined (the default) or set to null, no storageClassName spec is
115 ## set, choosing the default provisioner. (gp2 on AWS, standard on
116 ## GKE, AWS & OpenStack)
117 ##
118 volumeReclaimPolicy: Retain
119 accessMode: ReadWriteOnce
120 mountPath: /dockerdata-nfs
121 mountSubPath: music/zookeeper
Nelson,Thomas(tn1381)(arthurdent3)4807fdf2018-09-19 16:52:36 -0400122 size: 4Gi
123
124## Exporters query apps for metrics and make those metrics available for
125## Prometheus to scrape.
126exporters:
127
128 jmx:
129 enabled: false
130 image:
131 repository: sscaling/jmx-prometheus-exporter
132 tag: 0.3.0
133 pullPolicy: IfNotPresent
134 config:
135 lowercaseOutputName: false
136 rules:
137 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)"
138 name: "zookeeper_$2"
139 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+)><>(\\w+)"
140 name: "zookeeper_$3"
141 labels:
142 replicaId: "$2"
143 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(\\w+)"
144 name: "zookeeper_$4"
145 labels:
146 replicaId: "$2"
147 memberType: "$3"
148 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+), name3=(\\w+)><>(\\w+)"
149 name: "zookeeper_$4_$5"
150 labels:
151 replicaId: "$2"
152 memberType: "$3"
153 startDelaySeconds: 30
154 env: {}
155 resources: {}
156 path: /metrics
157 ports:
158 jmxxp:
159 containerPort: 9404
160 protocol: TCP
161 livenessProbe:
162 httpGet:
163 path: /metrics
164 port: jmxxp
165 initialDelaySeconds: 30
166 periodSeconds: 15
167 timeoutSeconds: 60
168 failureThreshold: 8
169 successThreshold: 1
170 readinessProbe:
171 httpGet:
172 path: /metrics
173 port: jmxxp
174 initialDelaySeconds: 30
175 periodSeconds: 15
176 timeoutSeconds: 60
177 failureThreshold: 8
178 successThreshold: 1
179
180 zookeeper:
181 enabled: false
182 image:
183 repository: josdotso/zookeeper-exporter
184 tag: v1.1.2
185 pullPolicy: IfNotPresent
186 config:
187 logLevel: info
188 resetOnScrape: "true"
189 env: {}
190 resources: {}
191 path: /metrics
192 ports:
193 zookeeperxp:
194 containerPort: 9141
195 protocol: TCP
196 livenessProbe:
197 httpGet:
198 path: /metrics
199 port: zookeeperxp
200 initialDelaySeconds: 30
201 periodSeconds: 15
202 timeoutSeconds: 60
203 failureThreshold: 8
204 successThreshold: 1
205 readinessProbe:
206 httpGet:
207 path: /metrics
208 port: zookeeperxp
209 initialDelaySeconds: 30
210 periodSeconds: 15
211 timeoutSeconds: 60
212 failureThreshold: 8
213 successThreshold: 1
214
215env:
216
217 ## Options related to JMX exporter.
218 JMXAUTH: "false"
219 JMXDISABLE: "false"
220 JMXPORT: 1099
221 JMXSSL: "false"
222
223 ## The port on which the server will accept client requests.
224 ZK_CLIENT_PORT: 2181
225
226 ## The port on which the ensemble performs leader election.
227 ZK_ELECTION_PORT: 3888
228
229 ## The JVM heap size.
230 ZK_HEAP_SIZE: 2G
231
232 ## The number of Ticks that an ensemble member is allowed to perform leader
233 ## election.
234 ZK_INIT_LIMIT: 5
235
236 ## The Log Level that for the ZooKeeper processes logger.
237 ## Choices are `TRACE,DEBUG,INFO,WARN,ERROR,FATAL`.
238 ZK_LOG_LEVEL: INFO
239
240 ## The maximum number of concurrent client connections that
241 ## a server in the ensemble will accept.
242 ZK_MAX_CLIENT_CNXNS: 60
243
244 ## The maximum session timeout that the ensemble will allow a client to request.
245 ## Upstream default is `20 * ZK_TICK_TIME`
246 ZK_MAX_SESSION_TIMEOUT: 40000
247
248 ## The minimum session timeout that the ensemble will allow a client to request.
249 ## Upstream default is `2 * ZK_TICK_TIME`.
250 ZK_MIN_SESSION_TIMEOUT: 4000
251
252 ## The delay, in hours, between ZooKeeper log and snapshot cleanups.
253 ZK_PURGE_INTERVAL: 0
254
255 ## The port on which the leader will send events to followers.
256 ZK_SERVER_PORT: 2888
257
258 ## The number of snapshots that the ZooKeeper process will retain if
259 ## `ZK_PURGE_INTERVAL` is set to a value greater than `0`.
260 ZK_SNAP_RETAIN_COUNT: 3
261
262 ## The number of Tick by which a follower may lag behind the ensembles leader.
263 ZK_SYNC_LIMIT: 10
264
265 ## The number of wall clock ms that corresponds to a Tick for the ensembles
266 ## internal time.
267 ZK_TICK_TIME: 2000
268
269jobs:
270 chroots:
271 enabled: false
272 activeDeadlineSeconds: 300
273 backoffLimit: 5
274 completions: 1
275 config:
276 create: []
277 # - /kafka
278 # - /ureplicator
279 env: []
280 parallelism: 1
281 resources: {}
282 restartPolicy: Never