如何解决GKE集群与ScyllaDB集群VPC对等连接失败问题?
GKE与ScyllaDB VPC对等连接报错排查及解决
可能的错误原因
你遇到的Unexpected error occurred when creating a VPC peering connection报错,大概率是以下两个问题之一:
- 提交的CIDR范围与ScyllaDB集群所在VPC的IP范围重叠——VPC对等连接要求双方的IP段不能有任何重叠。
- 提交的CIDR不完整——GKE集群除了VPC主IP段,还包含独立的Pod CIDR和服务CIDR,若需要ScyllaDB访问GKE内的Pod或内部服务,这些CIDR也必须纳入对等范围。
查找正确的IP范围
1. 获取VPC主CIDR
通过GCP CLI执行:
gcloud compute networks describe default --format="value(ranges.ipCidrRange)"
或者直接在GCP控制台的「VPC网络」页面,找到default网络,查看其配置的IP范围。
2. 获取GKE集群的Pod/服务CIDR
如果需要ScyllaDB与GKE的Pod、内部服务通信,必须额外获取这两个CIDR:
gcloud container clusters describe [你的GKE集群名称] --zone [集群所在区域] --format="value(clusterIpv4Cidr,serviceIpv4Cidr)"
这两个范围是GKE集群专属的,不会包含在VPC主CIDR内。
3. 验证CIDR是否重叠
确认ScyllaDB集群所在VPC的IP范围,确保你收集到的所有CIDR(VPC主+Pod+服务)都不与之重叠。若存在重叠,需要调整其中一方的IP段(比如修改GKE的Pod/服务CIDR,或联系Scylla团队调整他们的范围)。
修正操作步骤
- 把收集到的所有CIDR用逗号分隔,作为对等请求的IP范围提交给ScyllaDB的CLI命令。
- 确保发起请求的账号拥有
compute.networks.addPeering权限(若权限不足,需要给账号添加对应的IAM角色)。 - 重新发起对等连接请求。
内容的提问来源于stack exchange,提问作者AppLover
相关产品推荐
相关产品推荐

