使用私有 IP 从不同 VPC 网络中的 GKE 集群连接到 Cloud SQL

Posted

技术标签:

【中文标题】使用私有 IP 从不同 VPC 网络中的 GKE 集群连接到 Cloud SQL【英文标题】:Connect to Cloud SQL from GKE clusters in different VPC Networks using Private IP 【发布时间】:2020-11-24 09:03:09 【问题描述】:

我有 2 个独立的 GKE VPC 原生集群(gke1、gke2)和一个 Compute Engine 实例(ce1),每个都位于一个单独的 VPC 网络中。我想设置一个可以从 GKE 集群(gke1、gke2)和 Compute Engine 实例(ce1)连接的 Cloud SQL (Postgres)。

这是否可能不使用 Cloud SQL 的公共 IP 设置,可能使用 VPC 网络对等互连或其他解决方案,如果可以,如何设置此类配置?

我做了一些研究,我很清楚documentation 表示以下内容

GKE 集群必须是 VPC 原生的,并且与 Cloud SQL 实例位于同一 VPC 网络中

但我想知道是否可以使用 VPC 网络对等互连或其他方法

我在这里找到了一些关于 SO 的其他相关问题,有些不是 GKE 特有的,有些是几年前的,所以我不确定它是否仍然有效。

我发现的相关问题:

GKE VPC Native Cluster and Connectivity to Cloud SQL Accessing Cloud SQL from another GCP project Can't access Google Cloud SQL with private IP from peered VPC network

【问题讨论】:

您应该始终遵循文档。您为什么要寻找任何解决方法? 因为我的基础设施是按照描述设置的。我有一个要求,我正在寻找可能的解决方案。我只是怀疑文档描述了基于建议的方法的限制,但可能还有其他选择。 【参考方案1】:

简而言之,GKE 或 Compute Engine 是一回事:最后,您的 VPC 上总是有带有私有 IP 的东西(计算引擎、Cloud SQL 实例或 Pod)!

看我的回答here

一种解决方法是使用共享 VPC。我读过但从未测试过的另一个解决方案是在 VPC 之间创建一个 ***。 *** 不被视为网络对等互连,您不会违反传递性规则。

【讨论】:

以上是关于使用私有 IP 从不同 VPC 网络中的 GKE 集群连接到 Cloud SQL的主要内容,如果未能解决你的问题,请参考以下文章

无法从 GKE 中的 pod 内部连接到 Postgres SQL 实例

如何使用 Terraform 创建一个健康的 VPC-Native GKE 集群?

私有云 安全限制的一些思考

青云VPC网络配置

什么叫做私有网络VPC?

使用knife ec2插件在VPC私有子网中创建VM