Kubernetes 调用服务在集群 cluster-a 中与大使公开,来自不同的集群 cluster-b,相同的项目但不同的 vpc

Kubernetes call service exposed with ambasador in cluster cluster-a from a different cluster cluster-b, same prohect but different vpc

我在 Google Cloud GCP 中有两个 Kubernetes 集群 cluster-a、cluster-b。 我可以从同一 GCP 项目但不同 VPC 的不同集群(集群-b)调用集群(集群-a)中使用大使公开的服务吗?

现在我可以通过 ambasador 服务名称调用该服务(当我在同一个集群中调用时)。

我读过 Internal TCP/UDP Load Balancing,但只有当 cluster-a 和 cluster-b 在同一个 VPC 网络中并且我的集群在不同的 VPC 中时它才有效。

有不同的方法来完成它吗?

默认情况下,GCP 上的 VPC 不会相互路由,因此您的请求不会到达远程 CIDR。为此,您希望使用 VPC Network Peering 让每个 VPC 都可以相互访问。

请注意,firewall rules 仍然申请两个 VPC,因此您必须创建它们才能建立完整的通信。

最后,这将只允许您的 VPC 之间的网络通信。如果您将此排除为问题并且您仍然遇到连接不足的情况,则它可能与您的 Ambassador 配置有关,在这种情况下,我建议您发布相关信息或专门为此创建另一个问题。