github.com/pachyderm/pachyderm@v1.13.4/examples/spouts/go-kafka-spout/additional_manifests/240-kafka-statefulset.yaml (about) 1 apiVersion: apps/v1 2 kind: StatefulSet 3 metadata: 4 labels: 5 app: kafka 6 name: kafka 7 namespace: kafka 8 spec: 9 podManagementPolicy: OrderedReady 10 replicas: 3 11 revisionHistoryLimit: 1 12 selector: 13 matchLabels: 14 app: kafka 15 serviceName: kafka-headless 16 template: 17 metadata: 18 labels: 19 app: kafka 20 spec: 21 containers: 22 - command: 23 - sh 24 - -exc 25 - | 26 unset KAFKA_PORT && \ 27 export KAFKA_BROKER_ID=${HOSTNAME##*-} && \ 28 export KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${POD_IP}:9092 && \ 29 exec /etc/confluent/docker/run 30 env: 31 - name: POD_IP 32 valueFrom: 33 fieldRef: 34 apiVersion: v1 35 fieldPath: status.podIP 36 - name: KAFKA_HEAP_OPTS 37 value: -Xmx1G -Xms1G 38 - name: KAFKA_ZOOKEEPER_CONNECT 39 value: kafka-zookeeper:2181 40 - name: KAFKA_LOG_DIRS 41 value: /opt/kafka/data/logs 42 - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR 43 value: "3" 44 - name: KAFKA_JMX_PORT 45 value: "5555" 46 image: confluentinc/cp-kafka:4.1.2-2 47 imagePullPolicy: IfNotPresent 48 livenessProbe: 49 exec: 50 command: 51 - sh 52 - -ec 53 - /usr/bin/jps | /bin/grep -q SupportedKafka 54 failureThreshold: 3 55 initialDelaySeconds: 30 56 periodSeconds: 10 57 successThreshold: 1 58 timeoutSeconds: 5 59 name: kafka-broker 60 ports: 61 - containerPort: 9092 62 name: kafka 63 protocol: TCP 64 readinessProbe: 65 failureThreshold: 3 66 initialDelaySeconds: 30 67 periodSeconds: 10 68 successThreshold: 1 69 tcpSocket: 70 port: kafka 71 timeoutSeconds: 5 72 resources: {} 73 terminationMessagePath: /dev/termination-log 74 terminationMessagePolicy: File 75 dnsPolicy: ClusterFirst 76 restartPolicy: Always 77 schedulerName: default-scheduler 78 securityContext: {} 79 terminationGracePeriodSeconds: 60 80 updateStrategy: 81 type: OnDelete