aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStaffan Olsson <staffan@repos.se>2016-09-05 14:14:56 +0200
committerStaffan Olsson <staffan@repos.se>2016-09-05 14:20:16 +0200
commit2abf869d367853e209e9e91d65f517e9937a9c99 (patch)
tree7d9b25813dada6477ac809cc829a9acfcffd77c0
parent31d6c90bc924958eb7b9faaf4019cc3a48645413 (diff)
downloadkubernetes-kafka-namespace.tar.gz
kubernetes-kafka-namespace.tar.bz2
kubernetes-kafka-namespace.zip
Using a namespace for easier cleanup and consistent DNS namesnamespace
-rw-r--r--00namespace.yml5
-rw-r--r--20dns.yml1
-rw-r--r--30service.yml1
-rw-r--r--50kafka.yml2
-rw-r--r--README.md5
-rw-r--r--bootstrap/pvc.yml3
-rw-r--r--test/99testclient.yml1
-rw-r--r--test/test.sh2
-rw-r--r--zookeeper/bootstrap/pv-template.yml3
-rw-r--r--zookeeper/bootstrap/pvc.yml3
-rw-r--r--zookeeper/service.yml1
-rw-r--r--zookeeper/zookeeper.yaml3
12 files changed, 29 insertions, 1 deletions
diff --git a/00namespace.yml b/00namespace.yml
new file mode 100644
index 0000000..a6cf001
--- /dev/null
+++ b/00namespace.yml
@@ -0,0 +1,5 @@
+---
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: kafka
diff --git a/20dns.yml b/20dns.yml
index 67bf0dd..5b7bfa7 100644
--- a/20dns.yml
+++ b/20dns.yml
@@ -6,6 +6,7 @@ metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
name: broker
+ namespace: kafka
spec:
ports:
- port: 9092
diff --git a/30service.yml b/30service.yml
index 1447caa..5403da2 100644
--- a/30service.yml
+++ b/30service.yml
@@ -3,6 +3,7 @@ apiVersion: v1
kind: Service
metadata:
name: kafka
+ namespace: kafka
spec:
ports:
- port: 9092
diff --git a/50kafka.yml b/50kafka.yml
index a7bc013..c0a3cbe 100644
--- a/50kafka.yml
+++ b/50kafka.yml
@@ -2,6 +2,7 @@ apiVersion: apps/v1alpha1
kind: PetSet
metadata:
name: kafka
+ namespace: kafka
spec:
serviceName: "broker"
replicas: 3
@@ -35,6 +36,7 @@ spec:
volumeClaimTemplates:
- metadata:
name: datadir
+ namespace: kafka
annotations:
volume.alpha.kubernetes.io/storage-class: anything
spec:
diff --git a/README.md b/README.md
index 22110c2..6695ac7 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,11 @@
Example of three Kafka brokers depending on three Zookeeper instances.
+To get consistent service DNS names `kafka-N.broker.kafka`(`.svc.cluster.local`), run everything in a namespace:
+```
+kubectl create -f 00namespace.yml
+```
+
## Set up volume claims
This step can be skipped in clusters that support automatic volume provisioning, such as GKE.
diff --git a/bootstrap/pvc.yml b/bootstrap/pvc.yml
index f1dac65..9729060 100644
--- a/bootstrap/pvc.yml
+++ b/bootstrap/pvc.yml
@@ -3,6 +3,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-kafka-0
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
@@ -18,6 +19,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-kafka-1
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
@@ -33,6 +35,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-kafka-2
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
diff --git a/test/99testclient.yml b/test/99testclient.yml
index 97cbf3d..88ad6bb 100644
--- a/test/99testclient.yml
+++ b/test/99testclient.yml
@@ -4,6 +4,7 @@ apiVersion: v1
kind: Pod
metadata:
name: testclient
+ namespace: kafka
spec:
containers:
- name: kafka
diff --git a/test/test.sh b/test/test.sh
index f21fe87..f81070b 100644
--- a/test/test.sh
+++ b/test/test.sh
@@ -7,7 +7,7 @@ kubectl exec -ti testclient -- ./bin/kafka-console-consumer.sh --zookeeper zooke
# Go ahead and produce topics, haven't found a way to do this directly through kubectl exec
kubectl exec -ti testclient -- /bin/bash
-echo "Test $(date)" | ./bin/kafka-console-producer.sh --broker-list kafka-0.broker:9092 --topic test1
+echo "Test $(date)" | ./bin/kafka-console-producer.sh --broker-list kafka-0.broker.kafka.svc.cluster.local:9092 --topic test1
echo "Test $(date)" | ./bin/kafka-console-producer.sh --broker-list kafka-1.broker:9092,kafka-2.broker:9092 --topic test1
# "WARN Removing server from bootstrap.servers as DNS resolution failed: kafka-X.broker:9092"
echo "Test $(date)" | ./bin/kafka-console-producer.sh --broker-list kafka-0.broker:9092,kafka-1.broker:9092,kafka-2.broker:9092,kafka-X.broker:9092 --topic test1
diff --git a/zookeeper/bootstrap/pv-template.yml b/zookeeper/bootstrap/pv-template.yml
index 4a6aefa..61d84ee 100644
--- a/zookeeper/bootstrap/pv-template.yml
+++ b/zookeeper/bootstrap/pv-template.yml
@@ -3,6 +3,7 @@ apiVersion: v1
kind: PersistentVolume
metadata:
name: datadir-zoo-0
+ namespace: kafka
labels:
app: zk
petindex: "0"
@@ -18,6 +19,7 @@ apiVersion: v1
kind: PersistentVolume
metadata:
name: datadir-zoo-1
+ namespace: kafka
labels:
app: zk
petindex: "1"
@@ -33,6 +35,7 @@ apiVersion: v1
kind: PersistentVolume
metadata:
name: datadir-zoo-2
+ namespace: kafka
labels:
app: zk
petindex: "2"
diff --git a/zookeeper/bootstrap/pvc.yml b/zookeeper/bootstrap/pvc.yml
index e12cfa2..84d0e46 100644
--- a/zookeeper/bootstrap/pvc.yml
+++ b/zookeeper/bootstrap/pvc.yml
@@ -3,6 +3,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-zoo-0
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
@@ -18,6 +19,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-zoo-1
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
@@ -33,6 +35,7 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: datadir-zoo-2
+ namespace: kafka
spec:
accessModes:
- ReadWriteOnce
diff --git a/zookeeper/service.yml b/zookeeper/service.yml
index 1c9ab32..e11e791 100644
--- a/zookeeper/service.yml
+++ b/zookeeper/service.yml
@@ -3,6 +3,7 @@ apiVersion: v1
kind: Service
metadata:
name: zookeeper
+ namespace: kafka
spec:
ports:
- port: 2181
diff --git a/zookeeper/zookeeper.yaml b/zookeeper/zookeeper.yaml
index 1810564..b7486d6 100644
--- a/zookeeper/zookeeper.yaml
+++ b/zookeeper/zookeeper.yaml
@@ -5,6 +5,7 @@ metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
name: zk
+ namespace: kafka
labels:
app: zk
spec:
@@ -22,6 +23,7 @@ apiVersion: apps/v1alpha1
kind: PetSet
metadata:
name: zoo
+ namespace: kafka
spec:
serviceName: "zk"
replicas: 3
@@ -116,6 +118,7 @@ spec:
volumeClaimTemplates:
- metadata:
name: datadir
+ namespace: kafka
annotations:
volume.alpha.kubernetes.io/storage-class: anything
spec: