gpt4 book ai didi

kubernetes - 无法从外部kubernetes访问kafka

转载 作者:行者123 更新时间:2023-12-02 11:59:34 25 4
gpt4 key购买 nike

我正在尝试从本地机器上的外部kubernetes访问kafka。我正在使用spring应用程序来生成有关主题的事件。这是我的kafka部署文件:

kind: Deployment
metadata:
name: kafka-broker0
labels:
app: kafka
spec:
replicas: 2
selector:
matchLabels:
app: kafka
id: "0"
template:
metadata:
labels:
app: kafka
id: "0"
spec:
containers:
- name: kafka
image: wurstmeister/kafka
ports:
- containerPort: 9092
env:
- name: KAFKA_ADVERTISED_PORT
value: "30718"
- name: KAFKA_ADVERTISED_HOST_NAME
value: 192.168.1.240
- name: KAFKA_ZOOKEEPER_CONNECT
value: zoo1:2181
- name: KAFKA_BROKER_ID
value: "0"
- name: KAFKA_CREATE_TOPICS
value: LaunchScraper:1:1
和服务文件ID:
kind: Service
metadata:
name: kafka-services
labels:
name: kafka
spec:
selector:
app: kafka
id: "0"
ports:
- protocol: TCP
name: kafka-port
port: 9092
type: NodePort
我已经在kubernetes上创建了一个zookeeper pods 。我的Spring Boot应用程序显示此错误:
2020-09-25 23:56:29.123  WARN 44324 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1] Connection to node -1 (/192.168.1.240:9092) could not be established. Broker may not be available.

最佳答案

似乎您尚未在服务中修复nodePort。达到您在KAFKA_ADVERTISED_PORT中输入的值时。还要将KAFKA_ADVERTISED_HOST设置为K8s节点的主机名/ DNS。
在您的服务规范中,在nodePort: 30718条目下添加ports。然后在客户端中,尝试使用节点的地址或主机名在30718端口上进行连接
另外,如果您打算在生产环境中部署Kafka,建议您使用Strimzi https://Strimzi.io这样的运算符

关于kubernetes - 无法从外部kubernetes访问kafka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64072285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com