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