首页 > 解决方案 > 如何使 GKE 集群使用私有 IP 或网络进行通信?

问题描述

有没有办法让 GKE 集群(在同一个网络中)使用内部 IP 地址相互通信?

我知道 GKE 内部负载均衡器只能处理来自同一网络和同一区域的流量。我觉得这个实现很奇怪。

我知道 pod IP 是可路由的,但它们不是静态的,可以随时更改。另外,我知道loadBalancerSourceRanges外部负载均衡器中有配置选项,使用它我可以只允许我想要的子网,但是如果我想使用内部而不是使用公共 IP 来保持每次通信怎么办?

有什么办法可以实现我正在尝试的吗?像配置防火墙规则或其他什么?还是创建 VPC 网络时的“全局路由模式”或其他什么?

标签: google-cloud-platformload-balancinggoogle-kubernetes-engineinternal-load-balancer

解决方案


如果您在 2 个不同的区域有 2 个集群,并且您希望它们使用内部 IP 进行通信,那么您最好的选择是在集群中使用 nodePort 服务来公开您的 pod,然后配置一个 VM 实例作为每个集群的代理。

这与将 LoadBalancer 服务用作内部负载均衡器具有相同的效果,但它的好处是它可以跨多个区域工作。它还允许同一个负载均衡器处理所有服务的请求。

您需要注意的一件事是重载代理实例。根据请求的数量,您可能需要为集群配置多个代理实例,每个代理实例只处理少数服务。


推荐阅读