如何从 kubernetes 集群内部访问主机的 localhost

2024-04-26

在此应用程序中,nodejs pod 在 kubernetes 内部运行,而 mongodb 本身作为 localhost 位于主机外部。

这确实不是一个好的设计,但它只适用于开发环境。在生产中,将有一个单独的 mongodb 服务器,因为这样的选项可以在端点中具有非环回 IP,因此在生产中不会出现问题。

已考虑以下开发环境选项

  1. 使用 localhost 连接字符串连接到 mongodb,但它将引用 pod 自己的 localhost,而不是主机的 localhost

  2. 使用无头服务并在端点中提供本地主机 IP 和端口。但是端点不允许环回

建议是否有一种方法可以从集群内部(pod/nodejs 应用程序)访问主机本地主机上的 mongodb 数据库。


我在 docker for windows 上运行,对我来说只是使用host.docker.internal代替localhost似乎工作正常。

例如,我的 mongodb 连接字符串如下所示:

mongodb://host.docker.internal:27017/mydb

顺便说一句,我的hosts文件包含以下几行(我没有添加,我猜是docker desktop安装做到了这一点):

# Added by Docker Desktop
192.168.1.164 host.docker.internal
192.168.1.164 gateway.docker.internal
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 kubernetes 集群内部访问主机的 localhost 的相关文章

随机推荐