为 GKE 自动驾驶仪上的每个 Pod 分配不同的外部 IP

为 GKE 自动驾驶仪上的每个 Pod 分配不同的外部 IP

我正在将我们的项目从Compute Engine自动驾驶转为GKE自动驾驶(成本效益、扩大/缩小规模)。

目前,在 中Compute Engine,每台机器都获得不同的外部 IP(免费,默认情况下,我不关心保留 IP、传入流量)。

我只关心目标/目的地的机器请求数据时,会看到它们来自不同的 IP

我怎样才能让每个都Pod拥有不同的外部 IP(如GCE)?无需额外/最低成本?这可能吗?

答案1

每个 Pod 都有一个从其节点的 Pod CIDR 范围分配的 IP 地址。此 IP 地址由 Pod 内运行的所有容器共享,并将它们连接到集群中运行的其他 Pod。Pod IP 地址是短暂的(持续时间很短),甚至外部 IP 服务在 Autopilot 集群上是不允许的。要为服务提供外部 IP,您可以使用 LoadBalancer 类型的服务或使用入口将服务添加到多个服务共享的外部 IP。

传统上,针对 Kubernetes 集群的 HTTP(S) 负载均衡器实际上会针对其节点,因为它们没有办法识别每个 pod。但 Google 推出了一个网络端点组 (NEG) 抽象层,可实现容器原生负载平衡。这意味着负载均衡器可以查看 Kubernetes 集群的 pod,因为 NEG 与在 GCP 上运行的 Kubernetes Ingress 控制器集成。如果他们拥有多层电子商务部署,并希望使用 GKE 将一项服务公开到互联网。借助 NEG,他们现在可以配置 HTTP(S) 负载均衡器,从而允许他们配置基于路径或基于主机的路由到他们的后端 pod。

入口流量不收费。但是处理入口流量的负载均衡器可能需要付费。请参阅此文档了解负载均衡器的定价详情 在此处输入图片描述

相关内容