我试图使用mesos / marathon实现lizardfs集群。我为此创建了一些泊坞窗图像。
我需要获得某种类型的docker容器(lizardfs-master),而不是在已运行其他类型容器(lizardfs-shadow或lizardfs-metalogger)的同一节点上运行。也就是说,我需要运行这三种容器中的每一种的实例,但它们不能同时在同一节点上运行。它们是相互排斥的。
我不想限制可以运行每个容器的节点。我只想让它们独占。
有没有办法在马拉松比赛中完成这项任务,即使用约束?怎么会这样?
感谢。
答案 0 :(得分:0)
我可以想象有几种方法。 :)
我会做以下事情......
设置3个应用程序,每个应用程序用于特定的docker镜像(master,shadow,metalogger)。 然后,您可以在将应用程序绑定到特定节点的应用程序上创建约束:
"constraints": [["hostname", "CLUSTER", "a.specific.node.com"]]
https://github.com/mesosphere/marathon/blob/master/docs/docs/constraints.md#cluster-operator
我认为你也可以定义多个节点。
我没有对此进行测试,但对我来说这看起来很合理。 ;)