我有一个RHEL7 Kuberntes 1.19.1集群,其中有一个主节点和三个工作节点。
我通过遵循this link
来设置nginx入口控制器我通过设置具有三个副本的nginx映像并公开该部署,然后为我的服务创建入口来验证入口控制器。运行正常。我在每个Pod中看到将请求路由到所有三个节点的日志。简而言之,我的入口设置似乎运行良好。
现在,我想设置具有三个Zookeeper节点和三个kafka节点的Kafka集群。我遵循this link来设置我的kafka集群。还要在this link之后设置http网桥。这也很好。
Strimzi创建了一个名为“ my-cluster-kafka-bootstrap”的服务,该服务已经公开了端口9092,如下图所示从服务定义中可以看到的。
我在读this article时,他们提到了如何公开TCP端口,因为入口控制器默认情况下仅公开端口80和443
我创建了一个配置图,如下所示:
apiVersion: v1
kind: ConfigMap
metadata:
name: tcp-services
namespace: nginx-ingress
data:
9092: "kafka/my-cluster-kafka-bootstrap:9092"
我还为kafka端口修补了Nginx入口deamonset,如下所示:
我还验证了它已将我的更改应用于所有入口容器。
以下是我的入口资源:
当我尝试在任何NodeIPAddress:9092上使用Java本机客户端连接到Kafka时,它无法连接。我也尝试通过telnet到端口9092,它说连接被拒绝。有人可以指导我如何在我的任何节点上侦听Kafka的端口9092。
我认为这是一个非常典型的问题,需要有人在K8S上安装Redis或Mongo或RabbitMQ。我确定我缺少一些步骤。
请让我知道有关群集设置的更多信息,我们将很乐意提供它。
谢谢