【问题标题】:How to expose mongo containers to outside of the overlay network?如何将 mongo 容器暴露在覆盖网络之外?
【发布时间】:2020-03-13 03:53:35
【问题描述】:

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

这里不考虑 HostPort,因为只有 ingress/lb 节点暴露在公共网络中。

【问题讨论】:

    标签: mongodb docker kubernetes mesos


    【解决方案1】:

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

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

    • 您可以使用NodePortLoadbalancer 服务。如果这运行 cloud 那么你可以使用负载均衡器,否则使用NodePort。有关服务的更多信息,请访问here
    • 您也可以使用nginx ingress controller

    这两种解决方案都在Mongodb tutorial中进行了解释

    【讨论】:

      猜你喜欢
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 2016-02-16
      • 2016-12-28
      • 2021-11-11
      • 1970-01-01
      相关资源
      最近更新 更多