提供在同一mesos从机上启动应用程序组

7gcisfzg  于 2021-06-21  发布在  Mesos
关注(0)|答案(2)|浏览(259)

我有一个由3个mesos从机组成的集群,其中有两个应用程序:“redis”和“memcached”。其中redis依赖于memcached,并且要求两个应用程序/服务都应该在同一个节点上启动,而不是在不同的从属节点上启动。
因此,我创建了应用程序组,并在json文件中正确地添加了依赖项。在通过“v2/groups”restapi启动json文件之后,我注意到有时两个应用程序组将在同一个节点上启动,但有时它将在不同的从属节点上启动,这违反了我们的要求。
目的/要求是;如果任何应用程序无法在从属节点上启动,则两个应用程序都应故障切换到其他从属节点。我还可以配置json文件,告诉marathon在slave-1上启动应用程序组(首先启动特定的slave),如果它可用,或者在集群中的其他slave上启动它。由于某种原因,如果此应用程序组将在其他从属服务器上启动,则可以将应用程序组重新启动到从属服务器1(如果该应用程序组可用于服务请求)。
提前谢谢你的帮助。

vpfxa7rd

vpfxa7rd1#

编辑/更新(2):mesos、marathon和dc/os对pods的支持现在可用:dc/os:https://dcos.io/docs/1.9/usage/pods/using-pods/ mesos公司:https://github.com/apache/mesos/blob/master/docs/nested-container-and-task-group.md 马拉松赛跑:https://github.com/mesosphere/marathon/blob/master/docs/docs/pods.md
我猜你说的是马拉松应用程序。
marathon应用程序组没有任何关于同一节点上的同一位置的语义,依赖关系也是如此。
您似乎在寻找类似于marathon中的pod抽象的kubernetes,它已经在路线图上,但还不可用(请参阅上面的更新:-))。
希望这有帮助!

xmq68pz9

xmq68pz92#

我认为,如果您在组的json中指定正确的应用程序限制,这应该是可能的(作为一种解决方法)。
请看请求的示例
https://mesosphere.github.io/marathon/docs/generated/api.html#v2_groups_post
以及约束语法
https://mesosphere.github.io/marathon/docs/constraints.html
例如

"constraints": [["hostname", "CLUSTER", "slave-1"]]

应该这样做。缺点是这样就不会自动故障切换到另一个从服务器。不过,我还是很好奇为什么两个应用程序都需要在同一个从属节点上运行。。。

相关问题