【问题标题】:How can I set static Egress IP for a pod?如何为 Pod 设置静态 Egress IP?
【发布时间】:2022-08-17 21:51:58
【问题描述】:

简而言之,有两个服务通过 HTTP REST API 相互通信。我的部署在 AKS 群集中运行。对于入口控制器,我安装了这个 Nginx 控制器舵图: https://kubernetes.github.io/ingress-nginx

负载均衡器附加了一个固定 IP。我在集群中运行的部署应定期向其他服务发送使用信息,反之亦然。但是,该服务有一个 IP 白名单,我需要提供一个静态 IP 来将我的部署列入白名单。目前,问题是我的 cURL 调用具有节点的 IP,该 IP 总是根据我的部署在哪个节点上运行而变化。此外,节点的数量也可以动态扩展。我的目标是通过负载均衡器发送出口流量,如下所示:


有什么方法可以将出站流量从我的 pod 路由到负载均衡器?

  • 如果我理解这个问题,您正在寻找像 Istio MTLS sidecar istio.io/latest/docs/setup/additional-setup/sidecar-injection 这样可以拦截入站和出站流量的东西。
  • 我想知道如果你在你的其他服务的nginx中添加一个重写规则,并让其他服务与nginx通信,这样可以吗?
  • 从技术上讲,这个问题的标题是不正确的,因为 pod 应该是动态的,并且端点控制器控制更新 k8s 服务中的 IP 地址。

标签: nginx kubernetes load-balancing azure-aks


【解决方案1】:

这可以通过带有outbound rules 的 Azure 负载均衡器实现; LB 将执行 SNAT,而您的“其他服务”将看到固定的前端公共 IP。另一种方法是使用Virtual Network NAT,您的“其他服务”将看到固定的 NAT 公共 IP。然后,您可以将固定公共 IP 列入白名单。

【讨论】:

    【解决方案2】:

    我想您可以使用以下链接来更新负载均衡器以使用静态出口/出站 IP 地址。

    https://docs.microsoft.com/en-us/azure/aks/load-balancer-standard

    【讨论】:

      猜你喜欢
      • 2019-01-16
      • 2021-05-28
      • 2019-05-01
      • 1970-01-01
      • 2012-09-05
      • 2015-08-28
      • 2022-11-22
      • 1970-01-01
      • 2014-02-21
      相关资源
      最近更新 更多