【问题标题】:GCP Cluster ip address is not the same as request's remoteAddrGCP 集群 ip 地址与请求的 remoteAddr 不同
【发布时间】:2021-08-10 13:31:59
【问题描述】:

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

【问题讨论】:

  • 您好!您从哪里进行此类测试?来自集群节点内运行的 POD? IP address of my kubernetes cluster 是什么意思?你的主IP?你的节点IP?我认为您看到的是您的一个节点(POD 正在运行的地方)的 IP,您能否验证一下是否是这种情况?
  • 您好,谢谢。这是节点的 IP 地址

标签: kubernetes google-cloud-platform nat


【解决方案1】:

在提供答案之前,我将添加一些官方术语以阐明GKE networking

我们来看看GKE networking terminology

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

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

Pod IP:分配给给定 Pod 的 IP 地址。这是短暂的,如本主题的Pods 部分所述。

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

此外,您还可以查看exposing your service 文档,这可能会为您提供更多见解。

并支持you got your node's IP - GKE uses an IP masquerading

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

【讨论】:

  • 您好,我不知道 IP 伪装。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 2011-07-31
  • 2019-04-24
  • 2019-02-01
  • 2021-01-03
  • 2018-05-05
相关资源
最近更新 更多