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