|
|
@@ -1,446 +0,0 @@
|
|
|
----
|
|
|
-# 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"
|
|
|
-
|