无法使用 GKE 集群中的 VPC 对等互连连接到 GCP 中的 Mongo Atlas

问题描述 投票:0回答:1

问题:我在 GKE 中的应用程序无法通过 VPC 对等互连与 mongo Atlas 连接,但是如果我使用

mongodb+srv://cluster0-pri.mongodb.net/test --apiVersion 1 --username user --password pass
手动从 GkE 集群中的 pod 运行 mongosh,效果很好。

我对我的案例做了更多调查,发现了一些不寻常的事情。在我正在使用的应用程序属性中

uri: mongodb+srv://user:[email protected]/test
URI,因此它采用公共路由而不是通过 vpc 对等互连,我测试并在从 ip 中删除 0.0.0.0/0 后尝试从 pod ssh 到 mongo 集群时遇到相同的超时Atlas 中的白名单。 有没有更好的方法让应用程序与 GKE/GCP 中的 mongo 通信。或者像下面这样使用 URI 的不同方式

mongodb+srv://cluster0.mongodb.net/test?apiVersion=1&username=<user>&password=<pass>
当我尝试这个命令时,它说不支持 apiversion,如果我运行如下所示的相同命令,它可以正常工作
mongodb+srv://cluster0.mongodb.net/test --apiVersion 1 --username user --password pass

mongodb kubernetes google-kubernetes-engine
1个回答
0
投票

您可以尝试使用 cloud NAT 而不是 VPC 对等互连。从共享的链接中,您可以为创建云 NAT 后将使用的路由器分配或保留静态 IP 地址。

由于路由器的 IP 地址是静态(永久)的,因此可以安全地使用 IP 地址并将其列入网络访问 -> IP 访问列表下的 MongoDB Atlas 白名单,而不是使用 0.0.0.0/0。删除白名单后出现超时错误消息是正常的,因为只有IP地址列入白名单后才允许客户端连接,您可以在这个link

中看到此信息
© www.soinside.com 2019 - 2024. All rights reserved.