我在OpenShift上成功设置了Strimzi Kafka集群。我可以看到以下服务:
kafka-brokers
kafka-bootstrap
zookeeper-client
zookeeper-nodes
这实际上与所谓的here不同;因此,不确定这是否是Strimzi安装问题。我从here开始执行安装步骤。
我在端口kafka-bootstrap
(非TLS客户端)上为kafka-brokers
和9092
创建了路由。在这两种情况下,当我提供路由值时都会出现ECONNREFUSED
错误(例如,示例中my-cluster-myproject.192.168.99.100.nip.io:9092
中的kafkajs。
如何将kafkajs
程序包连接到Strimzi群集?
您是否已签出external listeners?
BTW,如果您需要通过路由器公开strimzi,则必须进行TLS加密。 OpenShift路由器不支持TCP,但支持TLS。
您看到的Strimzi服务是正确的,但是为了访问Kafka经纪人,最好使用引导程序服务,该服务仅允许在客户端的引导程序服务器列表中指定一个“经纪人”,并且它将选择一个经纪人来第一次连接,然后获取元数据(它避免了您使用无头服务进行连接,因为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