Apache Mesos + Docker + Karaf Cellar Cluster

时间:2015-03-11 07:33:12

标签: docker karaf mesos marathon fusefabric

我正在使用Marathon启动并运行Mesos群集(1个Master和2个Slave)。 我使用docker作为Mesos / Marathon中的容器。我有一个卡拉夫码头将在马拉松作为集群发射。我计划使用Cellar of Fabric作为Karaf的聚类解决方案。我的问题是

  1. 由于我在Marathon中使用随机端口映射,我并不知道如何让Hazel-cast的自动发现工作。使用随机从站上的随机docker实例。任何建议或解决方案/方法

  2. 使用保险丝面料代替酒窖可以轻松实现这一点 - 我对此完全失明。请提供一些关于Karaf的链接/见解

  3. 提前致谢

2 个答案:

答案 0 :(得分:5)

回答子弹#2

fabric8 v2是云技术的架构,如Kubernetes和Docker。这使得Fuse Fabric与tomorrows技术堆栈相比更加合适,而不是与Java和OSGi绑定。

有关此更改的更多背景信息由Rob Davies在

撰写

因此,使用基于docker的模型和Mesos / Kubernetes等云基础架构,然后让他们处理集群等等。并保持您的应用程序(作为docker图像)更简单。您不需要使用Karaf Cellar / Fuse Fabric v1等。它们可以从与您的应用程序位于同一位置的内部进行聚类。 kubernetes从外面那里做的,完全分开。

顺便提一下#1然后kubernetes服务摇滚。 James Strachan最近写了一篇关于kubernetes for developer的博客文章

如果使用kubernetes服务,则只需使用OS环境变量即可查找hazelcast群集的IP和端口号。

好吧也许这有点絮絮叨叨。但我建议查看kubernetes / fabric8 / docker等等 - 如果你今天要建立一个新的平台,请避免使用Karaf Cellar或Fuse Fabric v1等Java集群。

答案 1 :(得分:1)

许多人已经成功使用HAProxy和Marathon的服务端口来实现群集范围内的可发现性。见https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html

您还可以尝试使用mesos-dns进行基于DNS的服务发现,即使没有Marathon也可以使用。见http://mesosphere.github.io/mesos-dns/