VPC 对等互连 MongoDB Atlas with GCP Kubernetes engin
VPC peering MongoDB Atlas with GCP Kubernetes engin
我遵循 https://docs.atlas.mongodb.com/security-vpc-peering/ 并创建了 VPC 对等互连并检查了双方是否激活(GCP 和 Atlas)。
并且启用了我的 GCP VPC-native。
mongodb 网络地址 192.168.0.0/16
GCP pod ip 范围 10.4.0.0/16
我把10.4.0.0/16加入Atlas白名单
并尝试通过 pods
之一的私有连接字符串进行连接
mongo "mongodb+srv://id:pass0@dbname-pri.some.mongodb.net/dbname"
但是returns错误
*** 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 中的 nslookup 到 mongodb 集群显示
Server: 10.4.128.10
Address: 10.4.128.10#53
Name: dbname-pri.some.mongodb.net
Address: 192.168.254.213
我刚刚将白名单 0.0.0.0/0 添加到 Atlas 中。但它 returns 同样的错误。肯定不是白名单的问题
我应该设置防火墙还是其他什么?
我找到答案了!
希望对和我有同样问题的人有所帮助。
解决方案
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-native
- 使用 CIDR GCP pod ip 范围(你可以显示这个 GCP kubernetes 主页)
这会有所帮助。
我遵循 https://docs.atlas.mongodb.com/security-vpc-peering/ 并创建了 VPC 对等互连并检查了双方是否激活(GCP 和 Atlas)。 并且启用了我的 GCP VPC-native。
mongodb 网络地址 192.168.0.0/16
GCP pod ip 范围 10.4.0.0/16
我把10.4.0.0/16加入Atlas白名单 并尝试通过 pods
之一的私有连接字符串进行连接mongo "mongodb+srv://id:pass0@dbname-pri.some.mongodb.net/dbname"
但是returns错误
*** 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 中的 nslookup 到 mongodb 集群显示
Server: 10.4.128.10
Address: 10.4.128.10#53
Name: dbname-pri.some.mongodb.net
Address: 192.168.254.213
我刚刚将白名单 0.0.0.0/0 添加到 Atlas 中。但它 returns 同样的错误。肯定不是白名单的问题
我应该设置防火墙还是其他什么?
我找到答案了!
希望对和我有同样问题的人有所帮助。
解决方案
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-native
- 使用 CIDR GCP pod ip 范围(你可以显示这个 GCP kubernetes 主页)
这会有所帮助。