1

我注意到部署在 GKE 上的服务有些奇怪,我想了解...

当我启动时,kubectl get services我可以看到我的服务EXTRNAL-IP。比方说35.189.192.88。那是我用来访问我的应用程序的那个。

Ben 当我的应用程序尝试访问另一个外部 API 时,API 的所有者从我那里看到另一个 IP 地址:35.205.57.21

你能解释一下为什么吗?是否可以将第二个 IP 设为静态?

因为我的应用程序必须访问外部 API,并且此 API 的所有者通过 IP 地址过滤其访问

谢谢 !

4

1 回答 1

1

您作为 EXTERNAL-IP 服务的 IP 地址是保留并分配给您的新服务的负载平衡器 IP 地址,它仅用于传入流量。

但是,当您的 pod 尝试访问集群外的任何服务时,可能会发生两种情况:

  1. 目标 API 在同一个 VPC 内,这意味着不需要转换 IP 地址,然后在 Kubernetes 的最新版本中,您将使用 Kubernetes 在 range 上分配的 Pod IP 地址访问 API 10.0.0.0/8
  2. 当目标位于 VPC 之外时,您需要使用某种 NAT 来访问它,在这种情况下,将使用您的 VPC 的默认网关,并且 NAT 应用运行 pod 的节点的 IP 地址。

如果您需要拥有静态 IP 地址才能将其列入白名单,则需要使用云 NAT

https://cloud.google.com/nat/docs/overview

于 2020-06-29T12:05:54.817 回答