gpt4 book ai didi

docker - 互斥 docker 容器的马拉松约束

转载 作者:行者123 更新时间:2023-12-02 20:25:56 31 4
gpt4 key购买 nike

我正在尝试使用 mesos/marathon 实现一个 lizardfs 集群。为此,我创建了一些 docker 镜像。

我需要获取某种类型的 docker 容器(lizardfs-master),而不是在已经运行另一种容器(lizardfs-shadow 或 lizardfs-metalogger)的同一节点上运行。也就是说,我需要运行这三种容器中的每一种的实例,但它们不能同时在同一个节点上运行。它们是相互排斥的。

我不想限制可以运行每个容器的节点。我只是想让它们独占。

有没有办法在马拉松比赛中做到这一点,即使用约束?会怎么样?

谢谢。

最佳答案

我可以想象有几种方法可以解决这个问题。 :)

我会做以下..

设置 3 个应用程序,每个应用程序用于您的特定 docker 镜像(master、shadow、metalogger)。
然后,您可以在应用程序上创建一个约束,将应用程序绑定(bind)到特定节点:

"constraints": [["hostname", "CLUSTER", "a.specific.node.com"]]

https://github.com/mesosphere/marathon/blob/master/docs/docs/constraints.md#cluster-operator

我认为您也可以定义多个节点。

我没有对此进行测试,但对我来说它看起来很合理。 ;)

关于docker - 互斥 docker 容器的马拉松约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33149791/

31 4 0