如何在GKE Pod中使用mongosh测试MongoDB Atlas连接
GKE Pod 连接 MongoDB Atlas(VPC对等场景)排查操作步骤
1. 先完成基础配置校验,排除对等连接配置遗漏
- 确认MongoDB Atlas侧已开启对应VPC对等连接的私有DNS解析开关,未开启时私有连接域名会解析为公共IP,无法走对等链路
- 确认Atlas的IP访问列表已添加GCP侧三个网段:GKE节点CIDR、GKE Pod CIDR、GKE Service CIDR
- 确认GCP VPC路由表中存在指向Atlas VPC对等连接的路由条目,目标网段为Atlas侧提供的私有网段
- 确认GCP VPC防火墙已放开出口规则:允许GKE节点/Pod的流量访问Atlas网段的27015、27016、27017端口
2. 先在同VPC的GCE实例测试连接,排除GKE侧影响
安装mongosh(Debian/Ubuntu环境示例)
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list sudo apt update && sudo apt install -y mongodb-mongosh
执行连接测试
将连接字符串替换为Atlas提供的私有端点连接字符串,而非公网连接字符串:
mongosh "mongodb+srv://<你的Atlas私有端点域名>/test" --apiVersion 1 --username <Atlas数据库用户名>
若该步骤无法连接,说明问题出在VPC对等配置层面,先解决该问题再调试GKE侧
3. GKE Pod 侧连接测试
直接使用官方mongo镜像启动临时调试Pod,避免手动安装mongosh的麻烦:
kubectl run -it --rm mongosh-test --image=mongo:latest --namespace <你的GKE命名空间> -- bash
Pod启动后直接执行上一步的mongosh连接命令即可测试。
4. 常见异常排查
- 若域名解析为公共IP:回到Atlas对等连接配置页开启私有DNS解析,同时确认GKE集群使用的是GCP默认内部DNS
- 若解析正常但连接超时:检查GKE是否配置了网络策略拦截出口流量,或者Atlas IP访问列表未添加Pod CIDR
- 若认证失败:确认连接字符串的用户名、密码、数据库名配置正确,和Atlas侧配置一致
内容的提问来源于stack exchange,提问作者Davtho1983
相关产品推荐
相关产品推荐

