如何将mongo容器暴露在覆盖网络之外?

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

我正在将mongodb副本集设置为Mesos集群中的容器(我的问题也适用于k8s / swarm)。可以使用DNS或容器IP初始化副本集。但是,DNS或容器IP都只能在Mesos群集的覆盖网络中访问。现在,用户希望从Mesos / K8s集群外部访问mongo副本集,他们如何通过ingress / marathon-lb实现这一目标?

这里不考虑HostPort,因为只有入口/ lb节点才暴露给公共网络。

mongodb docker kubernetes mesos
1个回答
0
投票

入口控制器正在使用HTTP,并且它不支持TCP。 MongoDB需要常规的TCP/IP套接字。

还有其他两种方法可以实现:

  • 您可以使用NodePortLoadbalancer服务。如果继续云,那么您可以使用负载均衡器,否则使用NodePort。有关服务的更多信息,请参见here
  • 或者您可以使用nginx ingress controller

这两种解决方案均在此Mongodb tutorial中进行了说明

© www.soinside.com 2019 - 2024. All rights reserved.