我按照https://docs.bitnami.com/tutorials/deploy-scalable-kafka-zookeeper-cluster-kubernetes在 minikube 上部署了 kafka 。
我能夠通過kubectl命令創建 kafka 主題、發布和使用來自主題的訊息。當我通過 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 主題,但kafka.kafka.svc.cluster.local無法訪問引導服務器。
uj5u.com熱心網友回復:
但無法訪問引導服務器 kafka.kafka.svc.cluster.local。
那只是內部 CoreDNS 記錄地址。您需要使用暴露的 NodePort 和可選的 TCP LoadBalancer 定義一個無頭服務,該服務將引導 Ingress 流量進入集群,以及適當的 NetworkPolicy。在配置中搜索“外部” - https://github.com/bitnami/charts/tree/master/bitnami/kafka#traffic-exposure-parameters
Kafka在這種方式上并不是獨一無二的,所以我建議更多地了解訪問集群外的k8s服務。或者切換回 Docker Compose,使用容器簡單地測驗本地 Kafka 環境。
請注意,每個代理 pod 的廣告偵聽器設定需要將它們各自的外部代理地址回傳給客戶端
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/456897.html
標籤:Kubernetes 阿帕奇卡夫卡 比特纳米
