Strimzi入口控制器TCP服务不起作用

时间:2020-09-25 19:20:36

标签: kubernetes apache-kafka nginx-ingress strimzi

我有一个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,如下图所示从服务定义中可以看到的。

service definition

我在读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,如下所示:

nginx ingress daemon set

我还验证了它已将我的更改应用于所有入口容器。

以下是我的入口资源:

ingress resources

当我尝试在任何NodeIPAddress:9092上使用Java本机客户端连接到Kafka时,它无法连接。我也尝试通过telnet到端口9092,它说连接被拒绝。有人可以指导我如何在我的任何节点上侦听Kafka的端口9092。

我认为这是一个非常典型的问题,需要有人在K8S上安装Redis或Mongo或RabbitMQ。我确定我缺少一些步骤。

请让我知道有关群集设置的更多信息,我们将很乐意提供它。

谢谢

0 个答案:

没有答案