aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsolsson <solsson@gmail.com>2017-06-26 13:22:47 +0200
committerGitHub <noreply@github.com>2017-06-26 13:22:47 +0200
commit4a16d4fc8ccbf7b56f0de3dfeab1b01e452665c4 (patch)
tree823503eefcdb28c4bd82d019f328b2ebb9b591f6
parent26173af8577d3c11904196a04ca0b158f339bd64 (diff)
parentcb83353833645e543153cf6f9756ef3858f80442 (diff)
downloadkubernetes-kafka-4a16d4fc8ccbf7b56f0de3dfeab1b01e452665c4.tar.gz
kubernetes-kafka-4a16d4fc8ccbf7b56f0de3dfeab1b01e452665c4.tar.bz2
kubernetes-kafka-4a16d4fc8ccbf7b56f0de3dfeab1b01e452665c4.zip
Merge pull request #34 from Yolean/zookeeper-availability-zones
Suggest a mix of persistent and ephemeral data to improve reliability across zones
-rw-r--r--zookeeper/10zookeeper-config.yml10
-rw-r--r--zookeeper/20pzoo-service.yml15
-rw-r--r--zookeeper/21zoo-service.yml (renamed from zookeeper/20zoo-service.yml)1
-rw-r--r--zookeeper/50pzoo.yml (renamed from zookeeper/50zoo.yml)7
-rw-r--r--zookeeper/51zoo.yml62
5 files changed, 87 insertions, 8 deletions
diff --git a/zookeeper/10zookeeper-config.yml b/zookeeper/10zookeeper-config.yml
index e9402cb..58d8b6a 100644
--- a/zookeeper/10zookeeper-config.yml
+++ b/zookeeper/10zookeeper-config.yml
@@ -11,11 +11,11 @@ data:
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
+ server.1=pzoo-0.pzoo:2888:3888:participant
+ server.2=pzoo-1.pzoo:2888:3888:participant
+ server.3=pzoo-2.pzoo:2888:3888:participant
+ server.4=zoo-0.zoo:2888:3888:participant
+ server.5=zoo-1.zoo:2888:3888:participant
log4j.properties: |-
log4j.rootLogger=INFO, stdout
diff --git a/zookeeper/20pzoo-service.yml b/zookeeper/20pzoo-service.yml
new file mode 100644
index 0000000..00c33e1
--- /dev/null
+++ b/zookeeper/20pzoo-service.yml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: pzoo
+ namespace: kafka
+spec:
+ ports:
+ - port: 2888
+ name: peer
+ - port: 3888
+ name: leader-election
+ clusterIP: None
+ selector:
+ app: zookeeper
+ storage: persistent
diff --git a/zookeeper/20zoo-service.yml b/zookeeper/21zoo-service.yml
index d15dcc6..93fb321 100644
--- a/zookeeper/20zoo-service.yml
+++ b/zookeeper/21zoo-service.yml
@@ -12,3 +12,4 @@ spec:
clusterIP: None
selector:
app: zookeeper
+ storage: ephemeral
diff --git a/zookeeper/50zoo.yml b/zookeeper/50pzoo.yml
index 12d9c44..993fd55 100644
--- a/zookeeper/50zoo.yml
+++ b/zookeeper/50pzoo.yml
@@ -1,15 +1,16 @@
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
- name: zoo
+ name: pzoo
namespace: kafka
spec:
- serviceName: "zoo"
- replicas: 5
+ serviceName: "pzoo"
+ replicas: 3
template:
metadata:
labels:
app: zookeeper
+ storage: persistent
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "5556"
diff --git a/zookeeper/51zoo.yml b/zookeeper/51zoo.yml
new file mode 100644
index 0000000..f041a9a
--- /dev/null
+++ b/zookeeper/51zoo.yml
@@ -0,0 +1,62 @@
+apiVersion: apps/v1beta1
+kind: StatefulSet
+metadata:
+ name: zoo
+ namespace: kafka
+spec:
+ serviceName: "zoo"
+ replicas: 2
+ template:
+ metadata:
+ labels:
+ app: zookeeper
+ storage: ephemeral
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/port: "5556"
+ spec:
+ terminationGracePeriodSeconds: 10
+ containers:
+ - name: metrics
+ image: solsson/kafka-prometheus-jmx-exporter@sha256:1f7c96c287a2dbec1d909cd8f96c0656310239b55a9a90d7fd12c81f384f1f7d
+ command:
+ - "java"
+ - "-jar"
+ - "jmx_prometheus_httpserver.jar"
+ - "5556"
+ - example_configs/zookeeper.yaml
+ ports:
+ - containerPort: 5556
+ - name: zookeeper
+ image: solsson/kafka:0.11.0.0-rc2@sha256:c1316e0131f4ec83bc645ca2141e4fda94e0d28f4fb5f836e15e37a5e054bdf1
+ env:
+ - name: JMX_PORT
+ value: "5555"
+ command:
+ - sh
+ - -c
+ - >
+ set -e;
+ export ZOOKEEPER_SERVER_ID=$((${HOSTNAME##*-} + 4));
+ 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
+ - containerPort: 2888
+ name: peer
+ - containerPort: 3888
+ name: leader-election
+ volumeMounts:
+ - name: config
+ mountPath: /usr/local/kafka/config
+ - name: data
+ mountPath: /var/lib/zookeeper/data
+ volumes:
+ - name: config
+ configMap:
+ name: zookeeper-config
+ - name: data
+ emptyDir: {}