- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
上下文
我正在使用 GCP,更具体地说是 GKE 在容器/pod 中部署我的应用程序。我要部署的应用程序位于节点 js(express js)中。此应用连接到 MongoDB Atlas (免费层级 M0)。
在本地运行项目时没有问题。它连接到数据库,我可以毫无问题地添加/删除文档。
我允许任何人 (0.0.0.0/0) 访问我的 MongoDB Atlas 集群,以便更轻松地进行调试。
当我使用 CI/CD Deploy to GKE 部署我的项目时,一切都很顺利。
问题
一旦我部署了我的项目,事情就开始变得棘手了。我得到一个 CrashLoopBackOff。在检查日志后它一直崩溃是我发现的:
错误:服务器选择在 30000 毫秒后超时 {"name":"MongooseTimeoutError","reason":{"name":"MongoNetworkError"}}
潜在客户
我认为问题是我的 pod 无法通过其常规端口 27017 连接到 MongoDB Atlas,向我发送超时错误。
这是我尝试过的:
在我的 GCP VPC 网络中添加一个新的防火墙规则:gcloud compute firewall-rules create allow-mongodb --allow tcp:27017
在我的 deployment.yml 中添加以下键/值:dnsPolicy: Default
结论
在这个问题上花了几个小时之后,我仍然没有找到任何解决方案,而且我的想法已经用完了。仅供引用,我是 GCP 和 Kubernetes 的新手,所以我可能在这里遗漏了一些重要的东西,但不确定是什么。
如果某个好心的人最终看到了那个帖子并且知道答案,如果他/她能在这里帮助我,我会很高兴。
祝你好运。
干杯,
最佳答案
如果您认为网络策略已通过 GCP 防火墙规则正确设置,让我们在 kubernetes 中逐步解决它。
kubectl exec <node_app_pod> --command -- curl <mongo_url>:27017
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-all
spec:
podSelector: {}
egress:
- {}
policyTypes:
- Egress
如果你只想设置27017端口,你可以通过这个文档来调整:
https://kubernetes.io/docs/concepts/services-networking/network-policies/
让我知道现在是否更好。
关于kubernetes - 服务器选择在 30000 毫秒后超时 {"name":"MongooseTimeoutError","reason": {"name" :"MongoNetworkError"}},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59806483/
我尝试运行以下命令: node index.js 但是,我从我的终端得到以下信息: success connection to port 3000 (node:16767) Unhandled
我是 nodeJS 的新手,通过 youtube 上的预告片开始学习,一切都很顺利,直到我添加了 mongodb 的连接功能, mongo.connect("mongodb://localhost:2
MongoNetworkError: failed to connect to server [localhost:27017] on first connect [Error: connect
我在连接 Mongoose 时遇到问题。我正在尝试连接到 mongoDB atlas 并获取 MongoNetworkError。 那是我的代码和错误日志。感谢您的帮助。 const express
我目前正在使用 Node.js、Express 和 MongoDB (MLAB) 开发一个网站。如果我把它放在这里,我的代码会很长。所以当我尝试访问我的索引时 app.get("/alumniport
我使用 mongoDB、Express、React 和 Node 创建了全栈购物 list 应用程序(基本上与待办事项列表相同)。它适用于我本地的环境。但是当我尝试在 Heroku 上运行该应用程序时
上下文 我正在使用 GCP,更具体地说是 GKE 在容器/pod 中部署我的应用程序。我要部署的应用程序位于节点 js(express js)中。此应用连接到 MongoDB Atlas (免费层级
我尝试使用 Mongoose 在 mongo db 中保存 20 00 个文档。我收到此错误: UnhandledPromiseRejectionWarning:未处理的 promise 拒绝(拒绝
我正在尝试将 MongoDB Atlas 与 mongoose 和 aws lambda 连接,但出现错误 MongoNetworkError AWS Lambda Mongoose MongoDB
我在 Apache 配置文件中有我的 mongo 详细信息。并收到此错误。 SetEnv MONGO_URL mongodb://:@XXXXXXXXX.docdb.amazonaws.com:270
无法连接到 Mongodb。 Docker安装的那个 let dbRoute = "mongodb://mongo:27017/kgp_news" const option = { socke
这是我的代码。我想连接到 Mongodb,但出现 {MongoNetworkError: connection 0 to 127.0.0.1:27017 close} 错误。 MongoClinet
我的项目在本地运行良好。 我使用命令将我的项目推送到 GitHub 和 Heroku: git add . git commit -m "msg" git push git push Heroku 尝
{ MongoNetworkError: connection 3 to cluster0-shard-00-02-z0urk.mongodb.net:27017 closed at TLSSocke
环境: AWS Lambda(Node.js,8.10 版),waitForEmptyEventLoop === false MongoDB(图集) Mongoose 问题:有时(随机)我得到下一个错
我是nodejs和mongodb的新手。我从YouTube上学到了这些东西。我试图使用node.js创建一个api,但现在连mongodb都连接不上。 问题是我使用了fn project(运行时节点)
我是一名优秀的程序员,十分优秀!