github.com/pachyderm/pachyderm@v1.13.4/etc/kubernetes-kafka/4kafka/50kafka.yml (about)

     1  apiVersion: apps/v1
     2  kind: StatefulSet
     3  metadata:
     4    name: kafka
     5    namespace: kafka
     6  spec:
     7    selector:
     8      matchLabels:
     9        app: kafka
    10    serviceName: "broker"
    11    replicas: 3
    12    updateStrategy:
    13      type: RollingUpdate
    14    podManagementPolicy: Parallel
    15    template:
    16      metadata:
    17        labels:
    18          app: kafka
    19        annotations:
    20      spec:
    21        terminationGracePeriodSeconds: 30
    22        initContainers:
    23        - name: init-config
    24          image: solsson/kafka-initutils@sha256:2cdb90ea514194d541c7b869ac15d2d530ca64889f56e270161fe4e5c3d076ea
    25          env:
    26          - name: NODE_NAME
    27            valueFrom:
    28              fieldRef:
    29                fieldPath: spec.nodeName
    30          - name: POD_NAME
    31            valueFrom:
    32              fieldRef:
    33                fieldPath: metadata.name
    34          - name: POD_NAMESPACE
    35            valueFrom:
    36              fieldRef:
    37                fieldPath: metadata.namespace
    38          command: ['/bin/bash', '/etc/kafka-configmap/init.sh']
    39          volumeMounts:
    40          - name: configmap
    41            mountPath: /etc/kafka-configmap
    42          - name: config
    43            mountPath: /etc/kafka
    44          - name: extensions
    45            mountPath: /opt/kafka/libs/extensions
    46        containers:
    47        - name: broker
    48          image: solsson/kafka:2.1.1@sha256:8bc8242c649c395ab79d76cc83b1052e63b4efea7f83547bf11eb3ef5ea6f8e1
    49          env:
    50          - name: CLASSPATH
    51            value: /opt/kafka/libs/extensions/*
    52          - name: KAFKA_LOG4J_OPTS
    53            value: -Dlog4j.configuration=file:/etc/kafka/log4j.properties
    54          - name: JMX_PORT
    55            value: "5555"
    56          ports:
    57          - name: inside
    58            containerPort: 9092
    59          - name: outside
    60            containerPort: 9094
    61          - name: jmx
    62            containerPort: 5555
    63          command:
    64          - ./bin/kafka-server-start.sh
    65          - /etc/kafka/server.properties
    66          lifecycle:
    67            preStop:
    68              exec:
    69               command: ["sh", "-ce", "kill -s TERM 1; while $(kill -0 1 2>/dev/null); do sleep 1; done"]
    70          resources:
    71            requests:
    72              cpu: 100m
    73              memory: 100Mi
    74            limits:
    75              # This limit was intentionally set low as a reminder that
    76              # the entire Yolean/kubernetes-kafka is meant to be tweaked
    77              # before you run production workloads
    78              memory: 600Mi
    79          readinessProbe:
    80            tcpSocket:
    81              port: 9092
    82            timeoutSeconds: 1
    83          volumeMounts:
    84          - name: config
    85            mountPath: /etc/kafka
    86          - name: data
    87            mountPath: /var/lib/kafka/data
    88          - name: extensions
    89            mountPath: /opt/kafka/libs/extensions
    90        volumes:
    91        - name: configmap
    92          configMap:
    93            name: broker-config
    94        - name: config
    95          emptyDir: {}
    96        - name: extensions
    97          emptyDir: {}
    98    volumeClaimTemplates:
    99    - metadata:
   100        name: data
   101      spec:
   102        accessModes: [ "ReadWriteOnce" ]
   103        storageClassName: kafka-broker
   104        resources:
   105          requests:
   106            storage: 10Gi