【问题标题】:Apache Mesos + Docker + Karaf Cellar ClusterApache Mesos + Docker + Karaf 地窖集群
【发布时间】:2015-03-11 07:33:12
【问题描述】:

我正在使用 Marathon 启动并运行一个 Mesos 集群(1 个主节点和 2 个从节点)。 我在 Mesos/Marathon 中使用 docker 作为容器。我有一个 Karaf docker,它将作为一个集群在 Marathon 中启动。我打算使用 Cellar of Fabric 作为 Karaf 的集群解决方案。我的问题是

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

  2. 使用熔丝织物而不是地窖可以轻松实现这一点 - 我对此完全视而不见。请为 Karaf 提供一些链接/见解

提前致谢

【问题讨论】:

    标签: docker karaf mesos marathon fusefabric


    【解决方案1】:

    回答项目符号 #2

    fabric8 v2 是基于 Kubernetes 和 Docker 等云技术的架构。这使得 Fuse Fabric 更适合未来的技术堆栈,而不是与 Java 和 OSGi 绑定。

    Rob Davies 在博客上发表了有关此更改的更多背景信息

    因此,使用基于 docker 的模型和 Mesos/Kubernetes 等云基础架构,然后让他们处理集群等所有问题。并让您的应用程序(作为 docker 镜像)更简单。您不需要使用 Karaf Cellar / Fuse Fabric v1 等。它们从与您的应用程序位于同一位置的内部进行集群。就像 kubernetes 从外部做的那样,完全分离。

    顺便说一句,#1 然后 kubernetes 服务摇滚。 James Strachan 最近为开发人员写了一篇关于 Kubernetes 的博客文章

    如果使用 kubernetes 服务,那么您只需使用操作系统环境变量即可查找 hazelcast 集群的 IP 和端口号。

    好吧,也许这有点啰嗦。但我建议您查看 kubernetes/fabric8/docker 等所有 - 如果您现在正在构建新平台,请避免使用 Java 集群,例如 Karaf Cellar 或 Fuse Fabric v1。

    【讨论】:

    • 谢谢克劳斯,您的解释清楚。我会尝试一下,看看它在我的环境中是如何工作的。
    【解决方案2】:

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

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

    【讨论】:

    • 谢谢亚当。一定要试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2017-04-21
    相关资源
    最近更新 更多