1

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

  • kafka-brokers
  • kafka-bootstrap
  • zookeeper-client
  • zookeeper-nodes

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

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

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

4

2 回答 2

2

您看到的 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

于 2019-10-04T07:25:35.100 回答
1

你检查过外部听众吗?

顺便说一句,如果您需要通过路由器公开 srimzi,则需要 TLS 加密。OpenShift 路由器不支持 TCP,但支持 TLS。

于 2019-10-04T01:29:21.830 回答