【问题标题】:Moving a kubernetes service from Loadbalancer to Ingress将 kubernetes 服务从 Loadbalancer 移动到 Ingress
【发布时间】:2021-01-23 09:25:53
【问题描述】:

目前,我们正在使用负载均衡器类型的服务将外部请求路由到我们的一个 pod。

我们想将此转移到入口类型服务(已经有一个外部负载平衡器设置以及一个入口控制器 - 我们确实有其他 Pod 配置为通过该入口控制器接收外部请求)

我们现在拥有的是下面的 url,供客户端用于外部连接:

ws://streamevents.app.com:7080/stomp
wss://streamevents.app.com:7443/stomp

我们想把它移到

ws://streameventsv2.app.com/stomp
wss://streameventsv2.app.com/stomp

这样,我们可以释放负载均衡器的 IP 而不需要特定的端口。我们确实希望同时支持两个 url 一段时间 - 因为客户端已经连接到旧的。我们怎样才能做到这一点?

我能想到的选项(我们使用 helm):

  • 使用 Ingress 服务创建单独的图表和部署 - 旧的仍然使用 LoadBalancer
  • 相同的图表 - 以两种方式公开服务(这真的可能吗?)
  • 将当前的更改为 Ingress - 并且以某种方式确保我们将旧 URL 的请求路由到新的 Ingress(如何?)

或任何其他可能的方法?

【问题讨论】:

    标签: kubernetes kubernetes-helm kubernetes-ingress kubernetes-networking


    【解决方案1】:

    我猜您拥有舵图,因此您可以对其进行更改。如果是这样,您可以使用 Ingress 和 LoadBalancer 服务公开您的服务。除了添加 Ingress 资源外,您不需要对 helm 图表中的任何其他资源进行任何更改。当您可以停止支持 LoadBalancer 对象时,您可以删除它。

    【讨论】:

    • 您的意思是定义了 2 个服务 - 1 个用于 LB,另一个用于入口?
    • 只是为了明确术语,因为“服务”这个词被重载了——你可以定义 LB kubernetes 服务对象和一个 Ingress 对象,而其他一切,即部署等保持不变。
    猜你喜欢
    • 2019-09-10
    • 2023-03-08
    • 2019-08-07
    • 1970-01-01
    • 2019-05-30
    • 2016-05-12
    • 2021-12-03
    • 2020-01-23
    • 2021-12-20
    相关资源
    最近更新 更多