通过 Cloud VPN 从 Kubernetes 容器访问服务

通过 Cloud VPN 从 Kubernetes 容器访问服务

我设置了一个 VPC 网络,其中有一个 VPN 连接到本地网络。云路由器用于在内部和 VPN 网络中创建路由 (BGP)。其中一个项目是托管具有内部和外部 IP(具有别名 IP 范围)的公共 Kubernetes 集群。它被配置为 VPC 网络的一部分(使用其子网之一)。

我正在尝试将 Kubernetes 上运行的服务连接到内部网络中的资源(通过 Cloud VPN)。不幸的是,这似乎不可能。连接超时。

Cloud VPN、Cloud Router 已正确设置,并且网络之间可以访问/通信。唯一的问题是,我无法从 Kubernetes 容器访问本地资源

答案1

听起来您遇到了 GKE 路由问题。这通常是因为 pod 流量正在进行 NAT 而不应该这样做,或者 pod 流量的来源应该保留为 pod IP,但却被 NAT 以使用节点 IP。无论是哪种情况,您的防火墙都配置为允许一种类型的流量而不允许另一种类型的流量。

为了解决这个问题,GKE 提供了 [IP masq Agent][1],您可以使用它来调整集群应该对哪个范围的目标 IP 进行 SNAT,从而让您可以控制哪些流量是 NAT 的,哪些不是,并允许您正确预测哪些流量允许通过 VPN 和防火墙。

相关内容