首页 > 解决方案 > OpenShift - 无法从 KafkaJS 连接 Strimzi

问题描述

我在 OpenShift 上成功设置了 Strimzi Kafka 集群。我可以看到以下服务:

这实际上与这里所说的不同;所以,不确定这是否是 Strimzi 安装问题。我从这里按照安装步骤操作。

kafka-bootstrap我为kafka-brokers端口9092(非 TLS 客户端)创建了一个路由。在这两种情况下,ECONNREFUSED当我提供路由值时都会出现错误(例如my-cluster-myproject.192.168.99.100.nip.io:9092,在kafkajs的示例中。

如何将kafkajs包连接到 Strimzi 集群?

标签: node.jsapache-kafkaopenshiftstrimzikafkajs

解决方案


您看到的 Strimzi 服务是正确的,但为了访问 Kafka 代理,最好使用引导服务,该服务允许在客户端的引导服务器列表中仅指定一个“代理”,它将选择一个代理来连接第一次然后获取元数据(它避免你使用无头服务连接,其中 pod IP 可以在重启时更改)。也就是说,如果您需要从 OpenShift 外部访问代理,则不必手动为引导服务创建路由,但必须配置外部侦听器(https://strimzi.io/docs/latest/#装配-配置-kafka-broker-listeners-deployment-configuration-kafka)类型route. 如上所述,OpenShift 路由仅适用于 TCP 连接的 TLS。为了向您的客户提供用于 TLS 的正确证书,您可以遵循文档的这一部分:https ://strimzi.io/docs/latest/#kafka_client_connections


推荐阅读