aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStaffan Olsson <staffan@repos.se>2017-06-25 18:18:35 +0200
committerStaffan Olsson <staffan@repos.se>2017-06-25 20:50:17 +0200
commitccb9e5df12e5dbe70f243432d1613bd101b35630 (patch)
tree02f6477261b83a7094fe283960b74289d71272fb
parent42972715f1738acd4af350da2a34cf4bd100a43e (diff)
downloadkubernetes-kafka-ccb9e5df12e5dbe70f243432d1613bd101b35630.tar.gz
kubernetes-kafka-ccb9e5df12e5dbe70f243432d1613bd101b35630.tar.bz2
kubernetes-kafka-ccb9e5df12e5dbe70f243432d1613bd101b35630.zip
Uses the kafka image as Zookeeper service...
to reduce image download times and use a supported version. Initial config is from https://zookeeper.apache.org/doc/r3.4.10/zookeeperAdmin.html#sc_zkMulitServerSetup and the fixes for stateful set are from https://github.com/solsson/zookeeper-docker
-rw-r--r--zookeeper/10zookeeper-config.yml24
-rw-r--r--zookeeper/50zoo.yml27
2 files changed, 41 insertions, 10 deletions
diff --git a/zookeeper/10zookeeper-config.yml b/zookeeper/10zookeeper-config.yml
new file mode 100644
index 0000000..e9402cb
--- /dev/null
+++ b/zookeeper/10zookeeper-config.yml
@@ -0,0 +1,24 @@
+kind: ConfigMap
+metadata:
+ name: zookeeper-config
+ namespace: kafka
+apiVersion: v1
+data:
+ zookeeper.properties: |-
+ tickTime=2000
+ dataDir=/var/lib/zookeeper/data
+ dataLogDir=/var/lib/zookeeper/log
+ clientPort=2181
+ initLimit=5
+ syncLimit=2
+ 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
+
+ log4j.properties: |-
+ log4j.rootLogger=INFO, stdout
+ log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+ log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
diff --git a/zookeeper/50zoo.yml b/zookeeper/50zoo.yml
index 33ea7b8..27e3438 100644
--- a/zookeeper/50zoo.yml
+++ b/zookeeper/50zoo.yml
@@ -14,10 +14,17 @@ spec:
terminationGracePeriodSeconds: 10
containers:
- name: zookeeper
- image: solsson/zookeeper-statefulset:3.4.10@sha256:0ad93c98d5165b4eb747c4b0dd04a7a448a5c4b4cbcaa4bffc15018b76b81bb5
- 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
+ image: solsson/kafka:0.11.0.0-rc2@sha256:c1316e0131f4ec83bc645ca2141e4fda94e0d28f4fb5f836e15e37a5e054bdf1
+ command:
+ - sh
+ - -c
+ - >
+ set -e;
+ export ZOOKEEPER_SERVER_ID=$((${HOSTNAME##*-} + 1));
+ echo "${ZOOKEEPER_SERVER_ID:-1}" | tee /var/lib/zookeeper/data/myid;
+ sed -i "s/server\.$ZOOKEEPER_SERVER_ID\=[a-z0-9.-]*/server.$ZOOKEEPER_SERVER_ID=0.0.0.0/" config/zookeeper.properties;
+ cat config/zookeeper.properties;
+ ./bin/zookeeper-server-start.sh config/zookeeper.properties
ports:
- containerPort: 2181
name: client
@@ -26,13 +33,13 @@ spec:
- containerPort: 3888
name: leader-election
volumeMounts:
+ - name: config
+ mountPath: /usr/local/kafka/config
- name: datadir
- mountPath: /data
- # There's defaults in this folder, such as logging config
- #- name: conf
- # mountPath: /conf
+ mountPath: /var/lib/zookeeper/data
volumes:
- #- name: conf
- # emptyDir: {}
+ - name: config
+ configMap:
+ name: zookeeper-config
- name: datadir
emptyDir: {}