我正在尝试将带有 GKE 的 VPC 连接到云 SQL 数据库。
我指定了一个包含以下详细信息的 VPC:
IP ranges gateway
10.240.0.0/24 10.240.0.1
我看到我所有的 GKE 服务都在 10.39.xxx.xx 中
NAME CLUSTER_IP
service/kubernetes 10.39.240.1 ....
service/api 10.39.xxx.xx
service/web 10.39.xxx.xx
我实际上不了解与VPC的连接。我希望 GKE 集群能够与 Cloud SQL 数据库通信,而无需通过公共互联网公开它。
我在公共 IP 上有一个云 SQL 数据库,例如 36.241.123.123,私有 IP 等于 10.7.224.3。
在 SQL - 连接中,我选中私有 IP 框,并在默认和 dev-vpc(我的 VPC 名称)之间进行选择,我选择 dev-vpc。
根据 https://cloud.google.com/sql/docs/mysql/configure-private-ip 我现在应该完成,但我无法从我的 GKE 集群连接到云 SQL。
选择私有 IP 时,我确实看到以下消息。
专用 IP 连接需要额外的 API 和权限。您可能需要联系组织的管理员,以获取启用或使用此功能的帮助。目前,私有 IP 一旦启用就无法禁用。
我还有一个 VPC 对等连接
对等互连连接详细信息 进口航线 10.7.224.0/24 [ 云 SQL 内部 IP 在此 ] 导出路线 10.240.0.0/24 [ VPC 子范围 ]
我错过了什么?
GKE 集群需要位于同一 VPC 上,才能访问该私有 IP 上的其他服务。这意味着您必须创建 VPC 原生集群。
如果您在 Cloud SQL 支持私有 IP 之前创建了集群,则需要重新创建集群,我不确定为什么,但涉及 GCP 网络的大部分更改都必须重新创建集群。