open-im-server/deployments/deploy/kafka-statefulset.yml
2024-11-13 12:28:21 +08:00

105 lines
3.2 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: kafka-statefulset
labels:
app: kafka
spec:
replicas: 1
selector:
matchLabels:
app: kafka
serviceName: "kafka-service"
template:
metadata:
labels:
app: kafka
spec:
containers:
- name: kafka
image: bitnami/kafka:3.5.1
imagePullPolicy: IfNotPresent
resources:
limits:
memory: "2Gi"
cpu: "1000m"
requests:
memory: "1Gi"
cpu: "500m"
ports:
- containerPort: 9092 # PLAINTEXT
- containerPort: 9093 # CONTROLLER
- containerPort: 9094 # EXTERNAL
# command:
# - /bin/bash
# - "-c"
# - |
# # /opt/bitnami/scripts/kafka/run.sh & /opt/bitnami/kafka/create-topic.sh; wait
# # /opt/bitnami/scripts/kafka/entrypoint.sh && /opt/bitnami/scripts/kafka/setup.sh && /opt/bitnami/scripts/kafka/run.sh
# & while ! echo > /dev/tcp/localhost/9092; do
# echo "Waiting for Kafka to start..."
# sleep 5
# done
# /opt/bitnami/kafka/create-topic.sh
# tail -f /dev/null
env:
- name: TZ
value: "Asia/Shanghai"
- name: KAFKA_CFG_NODE_ID
value: "0"
- name: KAFKA_CFG_PROCESS_ROLES
value: "controller,broker"
- name: KAFKA_CFG_CONTROLLER_QUORUM_VOTERS
value: "0@kafka-service:9093"
- name: KAFKA_CFG_LISTENERS
value: "PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094"
- name: KAFKA_CFG_ADVERTISED_LISTENERS
value: "PLAINTEXT://kafka-service:9092,EXTERNAL://kafka-service:19094"
- name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP
value: "CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT"
- name: KAFKA_CFG_CONTROLLER_LISTENER_NAMES
value: "CONTROLLER"
volumeMounts:
- name: kafka-data
mountPath: /bitnami/kafka
- name: kafka-scripts
mountPath: /opt/bitnami/kafka/create-topic.sh
subPath: create-topic.sh
- name: create-topics
image: bitnami/kafka:3.5.1
command:
- /bin/bash
- "-c"
- |
/opt/bitnami/kafka/create-topic.sh && \
tail -f /dev/null
volumeMounts:
- name: kafka-scripts
mountPath: /opt/bitnami/kafka/create-topic.sh
subPath: create-topic.sh
- name: kafka-data
mountPath: /bitnami/kafka
volumes:
- name: kafka-scripts
configMap:
name: openim-config
defaultMode: 0755
items:
- key: create-topic.sh
path: create-topic.sh
- name: kafka-data
persistentVolumeClaim:
claimName: kafka-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kafka-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi