GKE 和多个 VPN

GKE 和多个 VPN

我有一个 GKE 自动驾驶仪集群,我在其中部署了一个工作负载,该工作负载需要通过两个不同的本地 VPN 连接到两个 SQL 数据库。该网络位于另一个项目上,它是一个共享 VPC。

GKE 配置如下:

  • 私有集群
  • 子网控制平面 172.20.0.0/28、Pod 172.18.0.0/16、服务 172.19.0.0/16
  • 已启用数据平面 v2

两个 VPN 各有一个隧道(无 HA),并使用 IkeV1 版本。
我将 VPN 连接到与 Pod 和服务不同的两个子网,分别为 172.21.0.16/29 和 172.21.0.24/29。
我更新了 GKE 对等连接以导入我在“导出的路由”下实际看到的新路由。

如果我在两个子网内创建一个虚拟机,我可以正确连接到数据库,但不能从 pod 连接。

我的做法是否正确?即将 VPN 连接到与集群不同的子网?
还是将它们连接到集群网络更正确?

我也试过解决方案,但它不起作用,因为我使用的是 GKE Autopilot。另外不起作用,因为我无法删除 ip-masq-agent pod。

解决方案:我已通过将 VPN 类型从 Classic 更改为具有一个隧道的 HA 来解决这个问题。这启用了动态路由,就像我对 Classic VPN 所做的那样,这些路由被导入到 gke 集群对等连接中。我尝试从 pod 连接 Sql 数据库,一切运行正常。

相关内容