MongoDB Atlas VPC Peering无法连通GCP VPC,GKE Pod访问Atlas问题求助
配置GKE Pod通过VPC对等连接访问MongoDB Atlas的解决方案
1. 对等连接基础校验
- 确认GCP与Atlas两端的对等连接状态均为
ACTIVE,任意一端处于PENDING_ACCEPTANCE状态都无法正常通信 - 确认Atlas侧绑定的对等VPC为GKE集群所在的VPC,且Atlas的CIDR段与GCP VPC CIDR、GKE Pod CIDR、GKE Service CIDR无重叠,存在重叠时对等路由不会自动下发
2. 路由规则校验
你无需手动配置路由,对等连接激活后两端会自动生成路由条目,仅需确认:
- GCP VPC路由表中存在目标为Atlas CIDR段、下一跳为Atlas对等连接的路由条目
- 若GKE集群开启了IP伪装代理,需将Atlas CIDR加入IP伪装代理的排除列表,避免Pod访问Atlas的流量被伪装为节点外网IP,无法走对等路由转发
3. 访问规则配置
你当前列出的所有防火墙规则均为入站规则,缺少必要的出站规则配置:
- 在GCP侧创建出站防火墙规则:允许VPC内所有资源(含GKE节点、Pod)访问Atlas CIDR段的ICMP、27015~27017端口流量
- Atlas侧无需添加GKE节点外网IP到白名单,对等连接走内网通信,需将GKE Pod CIDR、节点CIDR、Service CIDR全部加入Atlas的IP访问白名单,仅配置外网IP无法走对等链路通信
4. 集群配置调整说明
现有GKE集群无需重建,只要集群没有配置与Atlas CIDR冲突的自定义路由,仅需完成上述调整即可。仅当你的GKE集群为VPC原生集群且CIDR与Atlas CIDR完全重叠时,才需要重建集群调整CIDR配置。
5. 连通性测试建议
部分Atlas集群默认禁 ping,不要将ping通作为唯一验证标准,推荐用端口检测验证链路:
- 登录GKE节点执行
nc -zv <Atlas集群内网连接域名> 27017,确认端口可连通 - 节点侧验证通过后,再在Pod内执行相同命令验证Pod网络链路正常
内容的提问来源于stack exchange,提问作者Davtho1983
相关产品推荐
相关产品推荐

