docker - 错误 kafka 无法连接 Kubernetes 上的 zookeeper(单节点)
问题描述
我在 kubernetes单节点上运行 kafka 和 zookeeper 时遇到问题,我用我的笔记本电脑进行测试,它可以工作,但我在私有服务器上运行,它在 kafka pod 中显示错误,我不知道私有服务器上的网络设置
我使用 kompose 将 docker-compose 文件转换为 k8s yaml 文件
zoo1:名称解析暂时失败
如何修复该错误?
谢谢
我的部署和服务 yaml 文件
kafka1-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: kafka1
name: kafka1
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: kafka1
spec:
containers:
- env:
- name: KAFKA_ADVERTISED_LISTENERS
value: PLAINTEXT://kafka1:9092
- name: KAFKA_BROKER_ID
value: "1"
- name: KAFKA_LOG4J_LOGGERS
value: kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO
- name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
value: "1"
- name: KAFKA_ZOOKEEPER_CONNECT
value: zoo1:2181
image: confluentinc/cp-kafka:4.0.0
name: kafka1
ports:
- containerPort: 9092
resources: {}
hostname: kafka1
restartPolicy: Always
status: {}
kafka1-service.yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: kafka1
name: kafka1
spec:
ports:
- name: "9092"
port: 9092
targetPort: 9092
selector:
io.kompose.service: kafka1
status:
loadBalancer: {}
zoo1-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: zoo1
name: zoo1
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: zoo1
spec:
containers:
- env:
- name: ZOO_MY_ID
value: "1"
- name: ZOO_PORT
value: "2181"
- name: ZOO_SERVERS
value: server.1=zoo1:2888:3888
image: zookeeper:3.4.9
name: zoo1
ports:
- containerPort: 2181
resources: {}
hostname: zoo1
restartPolicy: Always
status: {}
zoo1-service.yaml
apiVersion: v1
kind: Service
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 (0c01309)
creationTimestamp: null
labels:
io.kompose.service: zoo1
name: zoo1
spec:
ports:
- name: "2181"
port: 2181
targetPort: 2181
selector:
io.kompose.service: zoo1
status:
loadBalancer: {}
解决方案
您必须为 kafla 和 zookeeper 创建无头服务
我建议使用 confluent helm 图表在 kubernetes 中使用 kafka,您可以了解他们如何创建无头服务。
什么是日志?究竟发生了什么?
希望有帮助!
推荐阅读
- java - Java:ObjectMapper 在请求/响应后更改 Pojo 的值/结构
- r - 在 R 中的 highchart 中添加 x-label 空格
- node.js - 使用谷歌图表 API 和 node.js 设计一个 Web 界面来发送传感器数据
- c# - 将多个 CustomUserControl 模板组合成一个模板
- reactjs - 使用 react-pdf 处理未处理的拒绝(错误)获取 pdf 页面尺寸:传输被破坏
- javascript - 数据中的Vue.js调用方法
- node.js - client.login('TOKEN') 两次会导致问题吗?
- msgraph - 通过用户的加入 URL 获取 onlineMeeting
- mongodb - 没有从 MongoDB 收到重复的条目消息
- c++ - = 运算符导致内存丢失