apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: kafka namespace: kafka spec: serviceName: "broker" replicas: 3 template: metadata: labels: app: kafka annotations: spec: terminationGracePeriodSeconds: 30 initContainers: - name: init-config image: solsson/kafka:0.11.0.0@sha256:b27560de08d30ebf96d12e74f80afcaca503ad4ca3103e63b1fd43a2e4c976ce command: ['/bin/bash', '/etc/kafka/init.sh'] volumeMounts: - name: config mountPath: /etc/kafka containers: - name: broker image: solsson/kafka:0.11.0.0@sha256:b27560de08d30ebf96d12e74f80afcaca503ad4ca3103e63b1fd43a2e4c976ce env: - name: KAFKA_LOG4J_OPTS value: -Dlog4j.configuration=file:/etc/kafka/log4j.properties ports: - containerPort: 9092 command: - ./bin/kafka-server-start.sh - /etc/kafka/server.properties - --override - zookeeper.connect=zookeeper:2181 - --override - log.retention.hours=-1 - --override - log.dirs=/var/lib/kafka/data/topics - --override - auto.create.topics.enable=false resources: requests: cpu: 100m memory: 512Mi livenessProbe: exec: command: - /bin/sh - -c - 'echo "" | nc -w 1 127.0.0.1 9092' volumeMounts: - name: config mountPath: /etc/kafka - name: data mountPath: /var/lib/kafka/data volumes: - name: config configMap: name: broker-config volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 200Gi