【问题标题】:Why is public IP of my pod different than the load balancer IP?为什么我的 pod 的公共 IP 与负载均衡器 IP 不同?
【发布时间】:2019-08-08 14:25:19
【问题描述】:

我有一个带有 nginx-ingress 控制器的 KOPS 集群,该控制器使用经典的负载均衡器。外部应用程序需要将 IP 列入白名单以进行授权。为此,我创建了一个网络负载均衡器并将我的应用程序放在它后面。我尝试将其与网络负载均衡器 IP 连接,但再次授权失败。我登录到 pod 并使用此命令检查了我的公共 ip

dig +short myip.opendns.com @resolver1.opendns.com

这给了我一个完全不同的公共 IP,它不绑定到我拥有的任何负载平衡器。我将该IP列入白名单并且它有效。进行更多挖掘后,我发现在一个节点上运行的 pod 具有相同的公共 IP,并且类似地,在不同节点上运行的所有 pod 都具有相同的公共 IP。首先这是怎么发生的?还有,当 kubernetes 使用我什至找不到它所在的公共 IP 地址时,我应该如何将静态 IP 列入白名单?

【问题讨论】:

    标签: kubernetes kubernetes-ingress nginx-ingress kubernetes-pod


    【解决方案1】:

    当您的 POD 在 AWS 中时,它们驻留在 EC2 实例上。来自这些 EC2 实例之外的流量将通过 Internet 网关或 NAT 网关路由。

    因此,如果您有私有集群,则意味着所有实例都有私有 IP,并且来自该集群(pod)之外的流量正在通过 NAT 网关运行,因此“另一端”可以查看 NAT 网关的公共 IP 地址。

    如果您有公共集群,则意味着所有实例都有公共 IP 地址,并且来自该集群(pod)之外的流量正在通过 Internet 网关运行,因此“另一端”查看特定实例的公共 IP 地址。

    【讨论】:

    • 如果您需要更多帮助,请询问,如果您认为我的回答有帮助或正确,我可以另行解释,您可以接受吗?
    猜你喜欢
    • 2018-03-18
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2018-08-01
    • 2019-05-16
    • 2019-01-09
    • 1970-01-01
    相关资源
    最近更新 更多