1 ## 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.
4 ## ref: https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper#stateful-set
5 replicaCount: 3 # Desired quantity of ZooKeeper pods. This should always be (1,3,5, or 7)
8 maxUnavailable: 1 # Limits how many Zokeeper pods may be unavailable due to voluntary disruptions.
10 terminationGracePeriodSeconds: 1800 # Duration in seconds a Zokeeper pod needs to terminate gracefully.
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.
16 ## ref: http://blog.kubernetes.io/2017/09/kubernetes-statefulsets-daemonsets.html
18 type: OnDelete # Pods will only be created when you manually delete old pods.
21 ## - https://github.com/kubernetes/contrib/tree/master/statefulsets/zookeeper
22 ## - https://github.com/kubernetes/contrib/blob/master/statefulsets/zookeeper/Makefile#L1
24 #repository: nexus3.onap.org:10001/library/zookeeper
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.
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"
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.
47 containerPort: 2181 # Port number for zookeeper container client port.
48 protocol: TCP # Protocol for zookeeper container client port.
50 containerPort: 3888 # Port number for zookeeper container election port.
51 protocol: TCP # Protocol for zookeeper container election port.
53 containerPort: 2888 # Port number for zookeeper container server port.
54 protocol: TCP # Protocol for zookeeper container server port.
56 # Resource Limit flavor -By Default using small
58 # Segregation for Different environment (Small and Large)
76 nodeSelector: {} # Node label-values required to run zookeeper pods.
78 tolerations: [] # Node taint overrides for zookeeper pods.
80 affinity: {} # Criteria by which pod label-values influence scheduling for zookeeper pods.
83 requiredDuringSchedulingIgnoredDuringExecution:
84 - topologyKey: "kubernetes.io/hostname"
89 podAnnotations: {} # Arbitrary non-identifying metadata for zookeeper pods.
91 podLabels: {} # Key/value pairs that are attached to zookeeper pods.
97 initialDelaySeconds: 20
103 initialDelaySeconds: 20
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)
118 volumeReclaimPolicy: Retain
119 accessMode: ReadWriteOnce
120 mountPath: /dockerdata-nfs
121 mountSubPath: music/zookeeper
124 ## Exporters query apps for metrics and make those metrics available for
125 ## Prometheus to scrape.
131 repository: sscaling/jmx-prometheus-exporter
133 pullPolicy: IfNotPresent
135 lowercaseOutputName: false
137 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)"
139 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+)><>(\\w+)"
143 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(\\w+)"
148 - pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+), name3=(\\w+)><>(\\w+)"
149 name: "zookeeper_$4_$5"
153 startDelaySeconds: 30
165 initialDelaySeconds: 30
174 initialDelaySeconds: 30
183 repository: josdotso/zookeeper-exporter
185 pullPolicy: IfNotPresent
188 resetOnScrape: "true"
200 initialDelaySeconds: 30
209 initialDelaySeconds: 30
217 ## Options related to JMX exporter.
223 ## The port on which the server will accept client requests.
226 ## The port on which the ensemble performs leader election.
227 ZK_ELECTION_PORT: 3888
229 ## The JVM heap size.
232 ## The number of Ticks that an ensemble member is allowed to perform leader
236 ## The Log Level that for the ZooKeeper processes logger.
237 ## Choices are `TRACE,DEBUG,INFO,WARN,ERROR,FATAL`.
240 ## The maximum number of concurrent client connections that
241 ## a server in the ensemble will accept.
242 ZK_MAX_CLIENT_CNXNS: 60
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
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
252 ## The delay, in hours, between ZooKeeper log and snapshot cleanups.
255 ## The port on which the leader will send events to followers.
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
262 ## The number of Tick by which a follower may lag behind the ensembles leader.
265 ## The number of wall clock ms that corresponds to a Tick for the ensembles
272 activeDeadlineSeconds: 300