Pod 到 GKE 中的 GCE 实例网络

Pod to GCE Instance Networking in GKE

我有一个包含两个子网(VPC₁ 和 VPC₂)的 GCP 项目。在 VPC₁ 中,我有几个 GCE 实例,在 VPC₂ 中,我有一个 GKE 集群。

我已经在两个 VPC 之间建立了 VPC Network Peering,POD₁ 的主机节点可以到达 VM₁,反之亦然。现在我希望能够从 POD₁ 中访问 VM₁,但不幸的是我似乎无法访问它。

这是在 POD₁ 上创建适当的防火墙规则/路由的问题,也许是将其主机用作路由器,还是我需要做其他事情?如何实现此 pod 与 GCE 实例之间的连接?

网络路由只在其VPC内有效。假设来自 pod1 的请求到达 VM1,VPC1 不知道如何将数据包路由回 pod1。要解决这个问题,只需要对来自 VPC2 中的 Pod CIDR 范围并前往 VPC1 的流量进行 SNAT。

这是一个简单的守护进程集,可以帮助将 iptables 规则注入您的 GKE 集群。它基于自定义目的地对流量进行 SNAT。 https://github.com/bowei/k8s-custom-iptables

当然需要正确设置防火墙规则。

或者,如果可能,您可以使用 VPC-native 创建集群,它会自动运行。