无法从外部连接到 Kubernetes 上的 Kafka
Unable to connect to Kafka on Kubernetes externally
我已经按照 https://docs.bitnami.com/tutorials/deploy-scalable-kafka-zookeeper-cluster-kubernetes.
在 minikube 上部署了 kafka
我能够创建 kafka 主题,通过 kubectl
命令发布和使用来自主题的消息。当我通过 helm chart 安装 kafka 时,kafka.kafka.svc.cluster.local
是集群内的 DNS 名称。
helm install kafka bitnami/kafka --set zookeeper.enabled=false --set replicaCount=3 --set externalZookeeper.servers=zookeeper.kafka.svc.cluster.local -n kafka
我尝试了多种方式,都无法在外面访问到这个kafka集群。我正在尝试通过 IntelliJ 中的示例生产者代码将消息发布到 kafka 主题,但是无法访问 bootstrap 服务器 kafka.kafka.svc.cluster.local
。
but the bootstrap server kafka.kafka.svc.cluster.local is not reachable.
那只是内部 CoreDNS 记录地址。您需要定义一个无外设服务,其中包含公开的 NodePort 和可选的 TCP LoadBalancer,它将引导入口流量进入集群,以及适当的 NetworkPolicy。在配置中搜索“外部”- https://github.com/bitnami/charts/tree/master/bitnami/kafka#traffic-exposure-parameters
Kafka在这方面不是唯一的,所以我建议多了解一下在集群外访问k8s服务。或者切换回 Docker Compose 以简单地使用容器测试本地 Kafka 环境。
请注意,每个代理的广告侦听器设置 pods 需要 return 他们各自的外部代理地址返回给客户端
我已经按照 https://docs.bitnami.com/tutorials/deploy-scalable-kafka-zookeeper-cluster-kubernetes.
在 minikube 上部署了 kafka我能够创建 kafka 主题,通过 kubectl
命令发布和使用来自主题的消息。当我通过 helm chart 安装 kafka 时,kafka.kafka.svc.cluster.local
是集群内的 DNS 名称。
helm install kafka bitnami/kafka --set zookeeper.enabled=false --set replicaCount=3 --set externalZookeeper.servers=zookeeper.kafka.svc.cluster.local -n kafka
我尝试了多种方式,都无法在外面访问到这个kafka集群。我正在尝试通过 IntelliJ 中的示例生产者代码将消息发布到 kafka 主题,但是无法访问 bootstrap 服务器 kafka.kafka.svc.cluster.local
。
but the bootstrap server kafka.kafka.svc.cluster.local is not reachable.
那只是内部 CoreDNS 记录地址。您需要定义一个无外设服务,其中包含公开的 NodePort 和可选的 TCP LoadBalancer,它将引导入口流量进入集群,以及适当的 NetworkPolicy。在配置中搜索“外部”- https://github.com/bitnami/charts/tree/master/bitnami/kafka#traffic-exposure-parameters
Kafka在这方面不是唯一的,所以我建议多了解一下在集群外访问k8s服务。或者切换回 Docker Compose 以简单地使用容器测试本地 Kafka 环境。
请注意,每个代理的广告侦听器设置 pods 需要 return 他们各自的外部代理地址返回给客户端