【问题标题】:Adding ports to existing kubernetes service向现有 Kubernetes 服务添加端口
【发布时间】:2016-01-20 11:45:01
【问题描述】:

我在 kubernetes 中有一项服务,通过 AWS 上的负载均衡器在端口 80 上公开。 我还有一个配置为指向负载平衡器主机名的 DNS。

我想在不替换的情况下向服务添加另一个端口,这也替换了负载均衡器及其域。

我看到的唯一选择是通过 kubectl 应用“补丁”操作。 有没有我想念的更方便的方法?

谢谢

【问题讨论】:

    标签: amazon-web-services service kubernetes


    【解决方案1】:

    我不是 ELB 方面的专家,所以我不知道这是否可能,但我会谈谈 GCE,然后断言 AWS 应该类似地操作。

    在 Kubernetes v1.0.x 中有一个不幸的错误,它会释放您的外部负载均衡器并在您更新服务时重新创建它。在 Kubernetes v1.1 中,我们竭尽全力不释放负载均衡器(更准确地说是外部 IP),因此服务上的 PUT 或 PATCH(kubectl 替换或 kubectl 补丁)是安全的。如果 AWS 发布了外部负载均衡器(我知道它不是 ELB 的 IP),那么我们应该尝试找到解决该问题的方法。

    【讨论】:

    • 感谢您的回答。 AWS 不会自行发布 ELB,必须通过明确的命令才能这样做。在版本 1.0.x 上,服务似乎被删除并再次创建,这意味着 ELB 已被替换。如果在版本 1.1.x 上您没有删除服务(意味着 ELB 下降),那么事情应该会按预期工作。我认为这对于服务的稳定性非常重要。
    • 另外注意:如果我们不删除 ELB,我们必须对其进行更改以适应新的服务端口要求。 ELB 与侦听器一起工作,因此,例如,如果我有一个 nginx 在端口 80 上侦听并在 kubernetes 中作为负载均衡器服务公开,那么 ELB 在端口 80 上有一个侦听器,它将流量转发到服务的指定节点端口上的 kubernetes minions .如果现在我将 443 端口添加到 nginx 服务,我们必须在现有 ELB 上创建另一个侦听器。
    • 我应该在 kubernetes github 中将其作为问题打开吗?
    • 如果它实际上是放弃 ELB 来进行更新,那么是的,请打开一个 GitHub 问题
    猜你喜欢
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多