my-k8s-kafka 已经重启了 3 次,不知道是什么问题,错误一直说无法连接到 Zookeeper 服务,服务正在运行,但 kafka 无法与 Zookeeper 通信,我可以知道哪里设置错误吗。
kafka-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-k8s-kafka
spec:
replicas: 1
selector:
matchLabels:
component: my-kafka
template:
metadata:
labels:
component: my-kafka
spec:
containers:
- name: my-k8s-container-kafka
image: confluentinc/cp-kafka:latest
ports:
- containerPort: 9092
env:
- name: KAFKA_ZOOKEEPER_CONNECT
value: "my-k8s-zookeeper-service:2181"
- name: KAFKA_ADVERTISED_LISTENERS
value: "PLAINTEXT://my-k8s-kafka-service:29092,PLAINTEXT_HOST://my-k8s-kafka-service:9092"
- name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
value: "PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT"
- name: KAFKA_INTER_BROKER_LISTENER_NAME
value: "PLAINTEXT"
- name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
value: "1"
- name: KAFKA_BROKER_ID
value: "1"
- name: KAFKA_MIN_INSYNC_REPLICAS
value: "1"
kafka-部署服务.yaml
apiVersion: v1
kind: Service
metadata:
name: my-k8s-kafka-service
spec:
type: ClusterIP
selector:
component: my-k8s-kafka
ports:
- port: 9092
targetPort: 9092
zookeeper-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-k8s-zookeeper
spec:
replicas: 1
selector:
matchLabels:
component: my-zookeeper
template:
metadata:
labels:
component: my-zookeeper
spec:
containers:
- name: my-k8s-container-zookeeper
image: confluentinc/cp-zookeeper:latest
env:
- name: ZOOKEEPER_CLIENT_PORT
value: "2181"
- name: ZOOKEEPER_TICK_TIME
value: "2000"
ports:
- containerPort: 2181
resources:
limits:
cpu: 500m
memory: 1Gi
zookeeper-部署-service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-k8s-zookeeper-service
spec:
type: ClusterIP
selector:
component: my-k8s-zookeeper
ports:
- port: 2181
targetPort: 2181
对于 minikube 上的多容器 pod,这就是 Zookeeper 和 kafka 的服务和部署 yaml 的样子。
#----------------------------------------经纪商会议-------------------- ---
api版本:v1 种类:ConfigMap 元数据: 名称:经纪人会议 数据: KAFKA_BROKER_ID:“1” ZOOKEEPER_CONNECT:127.0.0.1:2181 #ZOOKEEPER_CONNECT:卡夫卡服务:2181 引导服务器:127.0.0.1:9092 #BOOTSTRAP_SERVER:卡夫卡服务:9092
#----------------------------------------zookeeper-服务----- ------------------
#----------------------------------kafka-service---------- --------
api版本:apps/v1 种类:部署 元数据: 姓名:卡夫卡 规格: 副本:1 选择器: 匹配标签: 组件:kafka-svc 模板: 元数据: 标签: 组件:kafka-svc 规格: 容器: - 姓名:动物园管理员 图片:本地主机:5000/zookeeper 资源: 要求: 内存:“128Mi” 中央处理器:“125m” 限制: 内存:“256Mi” 中央处理器:“250m” 命令:[“/bin/sh”,“-c”] args:[“/confluence-7.0.1/bin/zookeeper-server-start /confluence-7.0.1/etc/kafka/zookeeper.properties;睡眠无限”] 端口: - 集装箱端口:2181 环境: - 名称:ZOOKEEPER_ID 值:“1” - 名称:ZOOKEEPER_CLIENT_PORT 值:“2181” - 名称:ZOOKEEPER_TICK_TIME 值:“2000” - 名称:ALLOW_ANONYMOUS_LOGIN 值:是
- name: kafka
image: localhost:5000/kafka
imagePullPolicy: IfNotPresent
resources:
requests:
memory: "1Gi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "1000m"
envFrom:
- configMapRef:
name: broker-conf
command: [ "/bin/sh","-c"]
args:
- /confluent-7.0.1/bin/kafka-server-start /confluent-7.0.1/etc/kafka/server.properties --override zookeeper.connect=$(ZOOKEEPER_CONNECT);
- /confluent-7.0.1/bin/kafka-topics --create --topic microTopic --bootstrap-server $(BOOTSTRAP_SERVER);
- mkdir /prometheus/
- sleep infinity;
ports:
- containerPort: 9092
name: kafka-port
- containerPort: 29092
name: kafka-ad-port
- containerPort: 9393
name: jmx-export-port