我紧随其后https://docs.atlas.mongodb.com/security-vpc-peering/创建VPC对等,并检查激活的两侧(GCP和Atlas(。并且启用了My GCP VPC native。
mongodb cidr 192.168.0.0/16
GCP吊舱ip范围10.4.0.0/16
我在Atlas白名单中添加了10.4.0.0/16并尝试通过其中一个吊舱中的专用连接字符串进行连接
mongo "mongodb+srv://id:pass0@dbname-pri.some.mongodb.net/dbname"
但它返回错误
*** You have failed to connect to a MongoDB Atlas cluster. Please ensure that your IP allowlist allows connections from your network.
Error: Could not find host matching read preference { mode: "nearest" }
pod到mongodb集群中的nslookup显示
Server: 10.4.128.10
Address: 10.4.128.10#53
Name: dbname-pri.some.mongodb.net
Address: 192.168.254.213
我刚刚在Atlas中添加了0.0.0.0/0白名单。但它返回相同的错误。这可能绝对不是白名单的问题。
我应该设置防火墙还是其他什么?
我找到了答案!
我希望这能帮助那些和我有同样问题的人。
解决方案
The mongodb Atlas cluster is created AWS based.
this AWS based cluster cannot be connected with GCP via VPC peering.
If you want to connect to GCP, you should make GCP based mongodb cluster.
关键问题在于。其他一些点是,
- 应该使用带有"的私有连接字符串-pri">
- 应启用GCP VPC本机
- 使用CIDR GCP pod ip范围(您可以显示此GCP kubernetes主页(
这会有所帮助。