aboutsummaryrefslogtreecommitdiff
path: root/zookeeper/50zoo.yml
diff options
context:
space:
mode:
authorStaffan Olsson <staffan@repos.se>2016-12-26 00:12:43 +0100
committerStaffan Olsson <staffan@repos.se>2016-12-26 00:12:43 +0100
commitc60d99ce5690fe5eb64c7e89d995f4b9f55852de (patch)
treee9bdb0bdb8011f36f353c4508bed7227858e4a50 /zookeeper/50zoo.yml
parent932307616aa4ccd59df42209d92e83aef244f3d0 (diff)
downloadkubernetes-kafka-c60d99ce5690fe5eb64c7e89d995f4b9f55852de.tar.gz
kubernetes-kafka-c60d99ce5690fe5eb64c7e89d995f4b9f55852de.tar.bz2
kubernetes-kafka-c60d99ce5690fe5eb64c7e89d995f4b9f55852de.zip
Manages to set zk node id without altering the official image, but leader-election port bind fails when using DNS name instead of 0.0.0.0
Diffstat (limited to 'zookeeper/50zoo.yml')
-rw-r--r--zookeeper/50zoo.yml52
1 files changed, 52 insertions, 0 deletions
diff --git a/zookeeper/50zoo.yml b/zookeeper/50zoo.yml
new file mode 100644
index 0000000..b73d622
--- /dev/null
+++ b/zookeeper/50zoo.yml
@@ -0,0 +1,52 @@
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+ name: zoo
+ namespace: kafka
+spec:
+ serviceName: "zoo"
+ replicas: 5
+ template:
+ metadata:
+ labels:
+ app: zookeeper
+ annotations:
+ pod.beta.kubernetes.io/init-containers: '[
+ {
+ "name": "install",
+ "image": "alpine:3.4",
+ "command": ["sh", "-c", "echo $(($(hostname | sed s/zoo-//) + 1)) > /data/myid" ],
+ "volumeMounts": [
+ {
+ "name": "datadir",
+ "mountPath": "/data"
+ }
+ ]
+ }
+ ]'
+ spec:
+ terminationGracePeriodSeconds: 10
+ containers:
+ - name: zookeeper
+ image: zookeeper:3.4.9@sha256:50cfe2c77fe203ab528ffb808f1a8b505db73b1f85aedbc52e4fdde69e2ebfe8
+ env:
+ - name: ZOO_SERVERS
+ value: server.1=zoo-0.zoo:2888:3888:participant server.2=zoo-1.zoo:2888:3888:participant server.3=zoo-2.zoo:2888:3888:participant server.4=zoo-3.zoo:2888:3888:participant server.5=zoo-4.zoo:2888:3888:participant
+ ports:
+ - containerPort: 2181
+ name: client
+ - containerPort: 2888
+ name: peer
+ - containerPort: 3888
+ name: leader-election
+ volumeMounts:
+ - name: datadir
+ mountPath: /data
+ # There's defaults in this folder, such as logging config
+ #- name: conf
+ # mountPath: /conf
+ volumes:
+ #- name: conf
+ # emptyDir: {}
+ - name: datadir
+ emptyDir: {}