我正在将mongodb副本集设置为Mesos集群中的容器(我的问题也适用于k8s / swarm)。可以使用DNS或容器IP初始化副本集。但是,DNS或容器IP都只能在Mesos群集的覆盖网络中访问。现在,用户希望从Mesos / K8s集群外部访问mongo副本集,他们如何通过ingress / marathon-lb实现这一目标?
这里不考虑HostPort,因为只有入口/磅节点才暴露于公共网络。
答案 0 :(得分:0)
入口控制器正在使用HTTP
,但不支持TCP
。 MongoDB需要常规的TCP/IP
套接字。
还有两种方法可以实现这一目标:
NodePort
或Loadbalancer
服务。如果继续
云,那么您可以使用负载均衡器,否则使用NodePort
。有关服务的更多信息,请参见here。这两种解决方案均在此Mongodb tutorial
中进行了解释