apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: kafka namespace: kafka spec: serviceName: "broker" replicas: 3 template: metadata: labels: app: kafka annotations: prometheus.io/scrape: "true" prometheus.io/port: "5556" spec: terminationGracePeriodSeconds: 30 containers: - name: metrics image: solsson/kafka-prometheus-jmx-exporter@sha256:1f7c96c287a2dbec1d909cd8f96c0656310239b55a9a90d7fd12c81f384f1f7d ports: - containerPort: 5556 resources: requests: cpu: 0m memory: 40Mi limits: cpu: 10m memory: 100Mi - name: broker image: solsson/kafka:0.11.0.0@sha256:4c194db2ec15698aca6f1aa8a2fd5e5c566caed82b4bf43446c388f315397756 env: - name: JMX_PORT value: "5555" ports: - containerPort: 9092 command: - /bin/bash - -c - > ./bin/kafka-server-start.sh config/server.properties --override log.retention.hours=-1 --override log.dirs=/var/lib/kafka/data/topics --override broker.id=${HOSTNAME##*-} resources: requests: cpu: 100m memory: 512Mi livenessProbe: exec: command: - /bin/sh - -c - 'echo "" | nc -w 1 127.0.0.1 9092' volumeMounts: - name: data mountPath: /var/lib/kafka/data volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 200Gi