为什么我的容器的公共 IP 与负载均衡器 IP 不同?



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

挖掘 +短 myip.opendns.com @resolver1.opendns.com

这给了我一个完全不同的公共 IP,它不绑定到我拥有的任何负载均衡器。我将该IP列入白名单,它起作用了。再做一些挖掘,我发现在一个节点上运行的 Pod 具有相同的公共 IP,同样,在不同节点上运行的所有 Pod 都具有相同的公共 IP。这到底是怎么回事?还有,当 kubernetes 使用我什至找不到它在哪里的公共 IP 地址时,我应该如何将静态 IP 列入白名单?

当您的 POD 位于 AWS 中时,它们驻留在 EC2 实例上。来自这些 EC2 实例外部的流量将由互联网网关或 NAT 网关路由。

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

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

相关内容

  • 没有找到相关文章

最新更新