apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: zoo namespace: kafka spec: serviceName: "zoo" replicas: 5 template: metadata: labels: app: zookeeper spec: terminationGracePeriodSeconds: 10 containers: - name: zookeeper 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 - 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 volumeClaimTemplates: - metadata: name: data annotations: volume.beta.kubernetes.io/storage-class: kafka-zookeeper spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi