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

Kubernetes 为什么我的pod的公共IP与负载均衡器IP不同?,kubernetes,kubernetes-ingress,nginx-ingress,kubernetes-pod,Kubernetes,Kubernetes Ingress,Nginx Ingress,Kubernetes Pod,我有一个带有nginx入口控制器的KOPS集群,它使用经典的负载平衡器。外部应用需要将IP列入白名单才能进行授权。我为此创建了一个网络负载均衡器,并将我的应用程序放在后面。我尝试将其连接到网络负载均衡器IP,但再次授权失败。我登录pod并使用此命令检查我的公共ip dig+短myip.opendns.com@resolver1.opendns.com 这给了我一个完全不同的公共IP,它没有绑定到我拥有的任何负载平衡器。我把那个IP列入了白名单,它成功了。通过进一步挖掘,我发现运行在一个节点上的p

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

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


这给了我一个完全不同的公共IP,它没有绑定到我拥有的任何负载平衡器。我把那个IP列入了白名单,它成功了。通过进一步挖掘,我发现运行在一个节点上的pod具有相同的公共IP,而运行在不同节点上的所有pod具有相同的公共IP。这是怎么发生的?还有,当kubernetes使用一个我甚至找不到的公共IP地址时,我该如何将静态IP列入白名单?

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

所以,如果您有私有集群,这意味着所有实例都有私有IP,来自该集群(pods)外部的流量都通过NAT网关运行,所以“另一端”可以看到NAT网关的公共IP地址


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

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

所以,如果您有私有集群,这意味着所有实例都有私有IP,来自该集群(pods)外部的流量都通过NAT网关运行,所以“另一端”可以看到NAT网关的公共IP地址


如果您有公共集群,则意味着所有实例都有公共IP地址,来自该集群(pods)外部的流量都通过Internet网关运行,所以“另一端”请参阅特定实例公共IP地址。

如果您需要更多帮助,请询问,以便我可以解释,如果您认为我的答案有帮助或正确,请接受。如果您需要更多帮助,请询问,以便我可以解释,如果您认为我的答案有帮助或正确,请接受?