| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- ---
- # Source: kafka/templates/serviceaccount.yaml
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: my-release-kafka
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: kafka
- ---
- # Source: kafka/templates/scripts-configmap.yaml
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: my-release-kafka-scripts
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- data:
- setup.sh: |-
- #!/bin/bash
- ID="${MY_POD_NAME#"my-release-kafka-"}"
- export KAFKA_CFG_BROKER_ID="$ID"
- exec /entrypoint.sh /run.sh
- ---
- # Source: kafka/charts/zookeeper/templates/svc-headless.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: my-release-zookeeper-headless
- namespace: default
- labels:
- app.kubernetes.io/name: zookeeper
- helm.sh/chart: zookeeper-5.21.9
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: zookeeper
- spec:
- type: ClusterIP
- clusterIP: None
- publishNotReadyAddresses: true
- ports:
- - name: tcp-client
- port: 2181
- targetPort: client
- - name: follower
- port: 2888
- targetPort: follower
- - name: tcp-election
- port: 3888
- targetPort: election
- selector:
- app.kubernetes.io/name: zookeeper
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: zookeeper
- ---
- # Source: kafka/charts/zookeeper/templates/svc.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: my-release-zookeeper
- namespace: default
- labels:
- app.kubernetes.io/name: zookeeper
- helm.sh/chart: zookeeper-5.21.9
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: zookeeper
- spec:
- type: ClusterIP
- ports:
- - name: tcp-client
- port: 2181
- targetPort: client
- - name: follower
- port: 2888
- targetPort: follower
- - name: tcp-election
- port: 3888
- targetPort: election
- selector:
- app.kubernetes.io/name: zookeeper
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: zookeeper
- ---
- # Source: kafka/templates/svc-headless.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: my-release-kafka-headless
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: kafka
- spec:
- type: ClusterIP
- clusterIP: None
- ports:
- - name: tcp-client
- port: 9092
- protocol: TCP
- targetPort: kafka-client
- - name: tcp-internal
- port: 9093
- protocol: TCP
- targetPort: kafka-internal
- selector:
- app.kubernetes.io/name: kafka
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: kafka
- ---
- # Source: kafka/templates/svc.yaml
- apiVersion: v1
- kind: Service
- metadata:
- name: my-release-kafka
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: kafka
- spec:
- type: ClusterIP
- ports:
- - name: tcp-client
- port: 9092
- protocol: TCP
- targetPort: kafka-client
- nodePort: null
- selector:
- app.kubernetes.io/name: kafka
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: kafka
- ---
- # Source: kafka/charts/zookeeper/templates/statefulset.yaml
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: my-release-zookeeper
- namespace: default
- labels:
- app.kubernetes.io/name: zookeeper
- helm.sh/chart: zookeeper-5.21.9
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: zookeeper
- role: zookeeper
- spec:
- serviceName: my-release-zookeeper-headless
- replicas: 1
- podManagementPolicy: Parallel
- updateStrategy:
- type: RollingUpdate
- selector:
- matchLabels:
- app.kubernetes.io/name: zookeeper
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: zookeeper
- template:
- metadata:
- name: my-release-zookeeper
- labels:
- app.kubernetes.io/name: zookeeper
- helm.sh/chart: zookeeper-5.21.9
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: zookeeper
- spec:
- serviceAccountName: default
- securityContext:
- fsGroup: 1001
- containers:
- - name: zookeeper
- image: docker.io/bitnami/zookeeper:3.6.2-debian-10-r10
- imagePullPolicy: "IfNotPresent"
- securityContext:
- runAsUser: 1001
- command:
- - bash
- - -ec
- - |
- # Execute entrypoint as usual after obtaining ZOO_SERVER_ID based on POD hostname
- HOSTNAME=`hostname -s`
- if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then
- ORD=${BASH_REMATCH[2]}
- export ZOO_SERVER_ID=$((ORD+1))
- else
- echo "Failed to get index from hostname $HOST"
- exit 1
- fi
- exec /entrypoint.sh /run.sh
- resources:
- requests:
- cpu: 250m
- memory: 256Mi
- env:
- - name: ZOO_DATA_LOG_DIR
- value: ""
- - name: ZOO_PORT_NUMBER
- value: "2181"
- - name: ZOO_TICK_TIME
- value: "2000"
- - name: ZOO_INIT_LIMIT
- value: "10"
- - name: ZOO_SYNC_LIMIT
- value: "5"
- - name: ZOO_MAX_CLIENT_CNXNS
- value: "60"
- - name: ZOO_4LW_COMMANDS_WHITELIST
- value: "srvr, mntr, ruok"
- - name: ZOO_LISTEN_ALLIPS_ENABLED
- value: "no"
- - name: ZOO_AUTOPURGE_INTERVAL
- value: "0"
- - name: ZOO_AUTOPURGE_RETAIN_COUNT
- value: "3"
- - name: ZOO_MAX_SESSION_TIMEOUT
- value: "40000"
- - name: ZOO_SERVERS
- value: my-release-zookeeper-0.my-release-zookeeper-headless.default.svc.cluster.local:2888:3888
- - name: ZOO_ENABLE_AUTH
- value: "no"
- - name: ZOO_HEAP_SIZE
- value: "1024"
- - name: ZOO_LOG_LEVEL
- value: "ERROR"
- - name: ALLOW_ANONYMOUS_LOGIN
- value: "yes"
- - name: POD_NAME
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.name
- ports:
- - name: client
- containerPort: 2181
- - name: follower
- containerPort: 2888
- - name: election
- containerPort: 3888
- livenessProbe:
- exec:
- command:
- [
- "/bin/bash",
- "-c",
- 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok',
- ]
- initialDelaySeconds: 30
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 6
- readinessProbe:
- exec:
- command:
- [
- "/bin/bash",
- "-c",
- 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok',
- ]
- initialDelaySeconds: 5
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 6
- volumeMounts:
- - name: data
- mountPath: /bitnami/zookeeper
- volumes:
- volumeClaimTemplates:
- - metadata:
- name: data
- annotations:
- spec:
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: "8Gi"
- ---
- # Source: kafka/templates/statefulset.yaml
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: my-release-kafka
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: kafka
- spec:
- podManagementPolicy: Parallel
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: kafka
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/component: kafka
- serviceName: my-release-kafka-headless
- updateStrategy:
- type: "RollingUpdate"
- template:
- metadata:
- labels:
- app.kubernetes.io/name: kafka
- helm.sh/chart: kafka-11.8.6
- app.kubernetes.io/instance: my-release
- app.kubernetes.io/managed-by: Helm
- app.kubernetes.io/component: kafka
- spec:
- securityContext:
- fsGroup: 1001
- runAsUser: 1001
- serviceAccountName: my-release-kafka
- containers:
- - name: kafka
- image: docker.io/bitnami/kafka:2.6.0-debian-10-r30
- imagePullPolicy: "IfNotPresent"
- command:
- - /scripts/setup.sh
- env:
- - name: BITNAMI_DEBUG
- value: "false"
- - name: MY_POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: MY_POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: KAFKA_CFG_ZOOKEEPER_CONNECT
- value: "my-release-zookeeper"
- - name: KAFKA_INTER_BROKER_LISTENER_NAME
- value: "INTERNAL"
- - name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP
- value: "INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT"
- - name: KAFKA_CFG_LISTENERS
- value: "INTERNAL://:9093,CLIENT://:9092"
- - name: KAFKA_CFG_ADVERTISED_LISTENERS
- value: "INTERNAL://$(MY_POD_NAME).my-release-kafka-headless.default.svc.cluster.local:9093,CLIENT://$(MY_POD_NAME).my-release-kafka-headless.default.svc.cluster.local:9092"
- - name: ALLOW_PLAINTEXT_LISTENER
- value: "yes"
- - name: KAFKA_CFG_DELETE_TOPIC_ENABLE
- value: "false"
- - name: KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE
- value: "true"
- - name: KAFKA_HEAP_OPTS
- value: "-Xmx1024m -Xms1024m"
- - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MESSAGES
- value: "10000"
- - name: KAFKA_CFG_LOG_FLUSH_INTERVAL_MS
- value: "1000"
- - name: KAFKA_CFG_LOG_RETENTION_BYTES
- value: "1073741824"
- - name: KAFKA_CFG_LOG_RETENTION_CHECK_INTERVALS_MS
- value: "300000"
- - name: KAFKA_CFG_LOG_RETENTION_HOURS
- value: "168"
- - name: KAFKA_CFG_MESSAGE_MAX_BYTES
- value: "1000012"
- - name: KAFKA_CFG_LOG_SEGMENT_BYTES
- value: "1073741824"
- - name: KAFKA_CFG_LOG_DIRS
- value: "/bitnami/kafka/data"
- - name: KAFKA_CFG_DEFAULT_REPLICATION_FACTOR
- value: "1"
- - name: KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR
- value: "1"
- - name: KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR
- value: "1"
- - name: KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR
- value: "1"
- - name: KAFKA_CFG_NUM_IO_THREADS
- value: "8"
- - name: KAFKA_CFG_NUM_NETWORK_THREADS
- value: "3"
- - name: KAFKA_CFG_NUM_PARTITIONS
- value: "1"
- - name: KAFKA_CFG_NUM_RECOVERY_THREADS_PER_DATA_DIR
- value: "1"
- - name: KAFKA_CFG_SOCKET_RECEIVE_BUFFER_BYTES
- value: "102400"
- - name: KAFKA_CFG_SOCKET_REQUEST_MAX_BYTES
- value: "104857600"
- - name: KAFKA_CFG_SOCKET_SEND_BUFFER_BYTES
- value: "102400"
- - name: KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS
- value: "6000"
- ports:
- - name: kafka-client
- containerPort: 9092
- - name: kafka-internal
- containerPort: 9093
- livenessProbe:
- tcpSocket:
- port: kafka-client
- initialDelaySeconds: 10
- timeoutSeconds: 5
- failureThreshold:
- periodSeconds:
- successThreshold:
- readinessProbe:
- tcpSocket:
- port: kafka-client
- initialDelaySeconds: 5
- timeoutSeconds: 5
- failureThreshold: 6
- periodSeconds:
- successThreshold:
- resources:
- limits: {}
- requests: {}
- volumeMounts:
- - name: data
- mountPath: /bitnami/kafka
- - name: scripts
- mountPath: /scripts/setup.sh
- subPath: setup.sh
- volumes:
- - name: scripts
- configMap:
- name: my-release-kafka-scripts
- defaultMode: 0755
- volumeClaimTemplates:
- - metadata:
- name: data
- spec:
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: "8Gi"
|