![](/img/trans.png)
[英]Pod publishing messages with KafkaJs to Strimzi keeps crashing
[英]OpenShift - Unable to connect Strimzi from KafkaJS
我在 OpenShift 上成功設置了 Strimzi Kafka 集群。 我可以看到以下服務:
kafka-brokers
kafka-bootstrap
zookeeper-client
zookeeper-nodes
這實際上與這里所說的不同; 所以,不確定這是否是 Strimzi 安裝問題。 我從這里按照安裝步驟操作。
我在端口9092
(非 TLS 客戶端)上為kafka-bootstrap
和kafka-brokers
創建了一條路由。 在這兩種情況下,當我提供路由值時,我都會收到一個ECONNREFUSED
錯誤(例如來自kafkajs的示例中的my-cluster-myproject.192.168.99.100.nip.io:9092
。
如何將kafkajs
package 連接到 Strimzi 集群?
你檢查過外部聽眾嗎?
順便說一句,如果您需要通過路由器公開 srimzi,則需要 TLS 加密。 OpenShift 路由器不支持 TCP,但支持 TLS。
您看到的 Strimzi 服務是正確的,但為了訪問 Kafka 代理,最好使用引導服務,該服務允許在客戶端的引導服務器列表中僅指定一個“代理”,它將 select 連接代理第一次然后獲取元數據(它避免你使用無頭服務連接,其中 pod IP 可以在重啟時更改)。 也就是說,如果您需要從 OpenShift 外部訪問代理,則不必手動為引導服務創建路由,但必須配置外部偵聽器( https://strimzi.io/docs/latest/# assembly-configuring-kafka-broker-listeners-deployment-configuration-kafka )類型為route
。 如上所述,OpenShift 路由僅適用於 TCP 連接的 TLS。 為了向您的客戶提供用於 TLS 的正確證書,您可以遵循文檔的這一部分: https://strimzi.io/docs/latest/#kafka_client_connections
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.