【问题标题】:Kubernetes: Have stateful sets use the same external portKubernetes:有状态集使用相同的外部端口
【发布时间】:2020-02-19 21:20:06
【问题描述】:

我有一个包含 3 个副本的 Kafka 状态集:我正在使用可用的 kafka helm 图表 here 和 confluentinc/Kafka 5.3.1 图像。我正在使用注释来确保每个都在不同的节点上运行。我想在每个 pod 上打开相同的外部端口。目前,helm 图表打开端口 9092 内部和(31090 + 副本号)作为外部端口。我正在使用亲和力来确保 pod 部署在不同的主机上。我还使用入口连接到 AWS 上的负载均衡器。 如何在不同节点上运行的每个 Kafka pod 上拥有相同的外部端口号?

谢谢

【问题讨论】:

  • 您编辑节点端口并在 helm 图表中设置目标端口,只需编辑图表。
  • 我收到一条错误消息,提示“端口已在使用中”
  • 是否有特定原因需要关联规则?
  • 我正在尝试连接到 AWS 负载均衡器,它需要连接到同一个端口

标签: kubernetes apache-kafka port


【解决方案1】:

不断增加的 NodePort 数量是根据 Helm 图表设计的。您可以在 this file 第 9 行中看到从 Helm 图表中定义的 firstListenerPort 开始增加端口号的定义(默认为 31090):

{{- $externalListenerPort := add $root.Values.external.firstListenerPort $i }}

您可以 fork Helm 图表,然后修改 templates/service-brokers-external.yaml 以将 $externalListenerPort 的引用替换为 $firstListenerPort。在您的 Helm 图表值定义中,您可以通过修改 external.firstListenerPort 来更改公共 NodePort 编号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 2018-12-22
    • 2019-02-27
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多