docker和服务集群

vc6uscn9  于 2021-06-21  发布在  Mesos
关注(0)|答案(4)|浏览(316)

我们正在研究使用docker plus mesos/marathon或kubernetes来托管集群。然而,有一个问题我们还没有真正找到答案,那就是如何允许集群服务正确地相互连接。我看到的所有节点在加入集群之前都需要至少了解一个其他节点。有些人需要了解每个节点。然而,在kubernetes和mesos中,无法提前知道这些ip地址是什么。
那么,这方面有什么最佳做法吗?如果有帮助的话,我们正在研究作为容器部署的一些技术是elasticsearch、activemq和mongodb。可能还有其他人。

yk9xbfzb

yk9xbfzb1#

至于kubernetes,目前确实需要 kube-controllers-manager 首先 --machines 参数提供了一个仆从IP或主机名列表。

mcvgt66p

mcvgt66p2#

我还想用mesos/marathon建立一个elasticsearch集群。由于现有的“解决方案”要么只是没有文档记录,要么不起作用/过时,我设置了自己的容器。
如果你喜欢的话,看看https://github.com/tobilg/docker-elasticsearch-marathon
如果您安装了running marathon(我使用v0.8.1),那么设置elasticsearch集群应该只需几分钟。
更新:
该容器现在使用ElasticSearchv1.5.2,并且能够在最新的Marathonv0.8.2上运行。

z3yyvxxp

z3yyvxxp3#

在Kubernetes,我看不到任何简单的方法来正确处理这个问题。是的,您可以调用返回端点列表的api,但是您必须监视更改并在端点更改时采取操作。。。
我更喜欢使用为这种情况做好充分准备的mesos/marathon。您应该实现mesos的定制框架。已经为elasticsearch准备了框架:http://mesos.apache.org/documentation/latest/mesos-frameworks/

ukqbszuj

ukqbszuj4#

然而,有一个问题我们还没有真正找到答案,那就是如何允许集群服务正确地相互连接。
我想你说的是ha/复制/分片应用。
目前,在kubernetes中,您可以通过进行api调用来实现这一点,该调用列出了服务的所有“端点”;这会告诉你你的同龄人在哪里跑步。
我们最终希望以更一流的方式支持您描述的用例。
我归档了https://github.com/googlecloudplatform/kubernetes/issues/3419 从这里开始做一些更标准化的事情。

相关问题