GCP 集群 IP 地址与请求的远程地址不同



我在Google Cloud Platform Kubernetes公共集群中有一个节点。当我从我的应用程序向外部网站发出HTTP请求时,该网站中的nginx显示一些与我的kubernetes集群的IP地址不同的IP地址。我不知道那个IP地址是从哪里来的。我没有在GCP中使用NAT。

在给出答案之前,我将添加一些官方术语来阐明GKE网络;

让我们看一下一些GKE网络术语:

Kubernetes网络模型严重依赖于IP地址。服务、pod、容器和节点使用IP地址和端口进行通信。Kubernetes提供不同类型的负载平衡,将流量引导到正确的pod。本主题后面将更详细地描述所有这些机制。阅读时请牢记以下条款:

ClusterIP:分配给服务的IP地址。在其他文档中,它可能被称为"集群ip"。此地址在服务的生命周期内是稳定的,如本主题中的服务部分所述。

荚IP:分配给给定Pod的IP地址。正如本主题的pod部分所讨论的那样,这是短暂的。

节点IP:分配给给定节点的IP地址。

此外,你可以看看你的服务文档,这可能会给你更多的见解。

并且支持您获得节点IP的事实- GKE使用IP伪装:

IP伪装是一种用于执行多对一IP地址转换的网络地址转换(NAT)形式,它允许多个客户端使用单个IP地址访问目的地址。GKE集群使用IP伪装,以便集群外的目的地只接收来自节点IP地址的数据包,而不是来自Pod IP地址的数据包。

相关内容

  • 没有找到相关文章

最新更新