diff options
-rw-r--r-- | 00namespace.yml | 5 | ||||
-rw-r--r-- | 20dns.yml | 1 | ||||
-rw-r--r-- | 30service.yml | 1 | ||||
-rw-r--r-- | 50kafka.yml | 2 | ||||
-rw-r--r-- | README.md | 5 | ||||
-rw-r--r-- | bootstrap/pvc.yml | 3 | ||||
-rw-r--r-- | test/99testclient.yml | 1 | ||||
-rw-r--r-- | test/test.sh | 2 | ||||
-rw-r--r-- | zookeeper/bootstrap/pv-template.yml | 3 | ||||
-rw-r--r-- | zookeeper/bootstrap/pvc.yml | 3 | ||||
-rw-r--r-- | zookeeper/service.yml | 1 | ||||
-rw-r--r-- | zookeeper/zookeeper.yaml | 3 |
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 @@ -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: @@ -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: |