【发布时间】:2021-03-15 07:35:53
【问题描述】:
在这个应用程序中,nodejs pod 在 kubernetes 内运行,而 mongodb 本身作为 localhost 位于主机外部。
这确实不是很好的设计,但它只适用于开发环境。在生产中,会有一个单独的 mongodb 服务器,因此可以选择在端点中使用非环回 ip,因此在生产中不会有问题。
已考虑开发环境的以下选项
-
使用localhost连接字符串连接mongodb,但是会引用pod自己的localhost而不是host的localhost
-
使用无头服务并在端点中提供 localhost ip 和端口。但是端点不允许环回
建议是否有办法从集群内部(pod / nodejs 应用程序)访问主机本地主机的 mongodb 数据库。
【问题讨论】:
-
你能指定你在哪个环境下工作吗?你也检查过:stackoverflow.com/questions/55164223/…stackoverflow.com/questions/60882006/…?
-
@Malgorzata Am usnig Ubuntu 20.04,并在使用多通道创建的 kubernetes 节点上。虽然场景不同,但我可以从您的链接中使用的是配置 mongo 以侦听另一个 ip,即
172.17.0.1:27017,这样我可以创建一个无头服务,并在端点中提及172.17.0.1:27017。它应该可以工作,因为它似乎不是环回 ip。让我明天告诉你它是如何工作的。 -
@Malgorzata 它的工作,而不是使用 172.17.0.1 我不得不使用 10.62.176.1 因为多通道接口使用这个端口。感谢您的提示,如果您愿意,可以将其作为我接受的答案发送。
-
很高兴听到这个消息,我已将其发布为答案。
标签: mongodb docker networking kubernetes