如何使 Google Cloud kubernetes 实例中的内部负载均衡器可从不同区域的另一个 kubernetes 实例访问?

如何使 Google Cloud kubernetes 实例中的内部负载均衡器可从不同区域的另一个 kubernetes 实例访问?

我正在尝试在一个 Google Cloud 区域 (us-east) 中的 Kubernetes 集群内公开一项服务,并让另一个区域 (us-central) 中的另一个 Kubernetes 集群可以访问该服务。我非常希望此流量不使用任何公共 IP,而是留在项目内部。

我尝试设置的是内部 Google Cloud 负载均衡器直到后来我才读到:

内部负载均衡器只能从同一网络和区域内访问。

我觉得这有点奇怪,并尝试通过应用防火墙或路由来解决这个问题,但似乎没有什么效果。区域子网内的任何东西都可以到达 LB,但该区域外的任何东西都无法到达。

现在,真正令人困惑的是,我在另一个项目上以不同的方式工作。这里我有两个项目设置了对等连接,这工作得很好。然而,这可能是因为它们都在同一地区……

所以我的问题是:如何连接两个 Kubernetes 集群,并将流量保持在 Google Cloud 内部,而不使用公共 IP,而是使用内部 10.x IP。对内部网络流量如此严格的原因是我已经在一个 Kubernetes 集群上进行了隔离,并且不希望该集群拥有任何类型的面向公众的资源。

答案1

您可以使用GKE 私有集群。这是一个不可公开访问的集群。这是一个只能在内部访问的集群。您的集群只能暴露给受信任的 VPC 网络。IP 地址是格式为 10.xxx 的内部 IP 地址

关于如何设置私有集群的说明可以在这里找到在本文中

答案2

不幸的是,ILB 目前是区域性的。

相关内容