【问题标题】:Exposing Multiple Confluent Kafka Brokers Publicly using Nginx Ingress Controller使用 Nginx Ingress Controller 公开多个 Confluent Kafka 代理
【发布时间】:2021-07-09 01:13:51
【问题描述】:

我正在尝试使用 ingress-nginx 公开公开 cp-kafka 代理,我碰巧看到this Stack Overflow question. 答案只显示一个代理暴露在集群之外。比如说,如果我有 3 个代理在运行,我如何使用 nginx 入口控制器公开所有 3 个 Kafka 代理?

【问题讨论】:

    标签: kubernetes apache-kafka kubernetes-ingress confluent-platform


    【解决方案1】:

    我能够通过将 tcp-services configMap 数据更改为以下数据来修复它。

    31090: "default/demo-cp-kafka-0-nodeport:19092"

    【讨论】:

      【解决方案2】:

      Kafka 使用的是二进制协议,所以不能使用 http 路由。

      您需要在单独的端口上公开代理。在 nginx 入口文档中阅读此页面:Exposing TCP and UDP services。您链接的答案已经解释了如何为一个端口/服务执行此操作。现在您所要做的就是再公开两个端口。由于您不能多次打开一个端口号,因此您需要在单独的端口上公开每个代理。

      【讨论】:

      • 谢谢@matt。我知道我们需要公开容器端口,但我们不应该也从入口 nginx kubernetes 服务公开相同的端口吗?
      • 您不能公开相同的端口,因为您不能两次或多次打开同一个端口。这是回答你的问题还是我误解了某事?
      • 我明白你的意思。我现在正试图公开一个 Kafka 代理并在入口控制器日志中收到此错误:Service "default/confluent-cp-kafka-0-nodeport" does not have any active Endpoint for TCP port 31090 当我尝试公开连接到 Kafka 时,我收到连接被拒绝错误。你有什么想法吗?
      • 您阅读了 cmets 部分吗? chat.stackoverflow.com/rooms/211886/… 好像他们在那里讨论过这个。
      • 我已经修复了上述错误Service "default/confluent-cp-kafka-0-nodeport" does not have any active Endpoint for TCP port 31090,但是当我尝试连接到 Kafka 时仍然收到连接被拒绝错误。我可以遵循其他任何文件来使用 ingress-nginx 公开 Kafka 吗?
      猜你喜欢
      • 2019-01-24
      • 1970-01-01
      • 2019-05-17
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 2019-04-30
      • 2019-07-29
      相关资源
      最近更新 更多