迁移马拉松应用程序以实现mesos从属服务器的正常关闭

lawou6xi  于 2021-06-21  发布在  Mesos
关注(0)|答案(1)|浏览(271)

我有一个小型的mesos集群,我使用marathon来管理一组长期运行的服务,每个服务的示例数量可变。
我希望能够启动新的节点或根据业务需要终止其中一些节点。然而,当终止一个节点时,我意识到有一个潜在的问题:当我关闭一个mesos从节点时,一些服务的示例数量会暂时低于定义的数量 minimumHealthCapacity . 例如,如果要停止的机器运行的服务只有一个示例,那么这可能会导致一些停机。
考虑以下简化场景:节点1运行服务a,节点2运行服务b,节点3运行服务c。这个 minimumHealthCapacity 对于所有服务为1。我想终止节点1,只让2和3运行。我不想在服务a上停机。预期行为的一个例子是将服务a扩展到2,然后安全地终止节点1。
我该怎么做才能确保没有服务低于 minimumHealthCapacity ?
理想情况下,我会有一个滚动更新启发的过程,即在不同的机器中启动替换,然后终止要关闭的机器中的服务。我希望至少有一个自动化的过程来做到这一点,以便缩小规模是一个简单的脚本了。我不需要花费多少时间来完成这项工作,也就是说,只有在我确定马拉松式迁移完成并成功之后,我才能关闭mesos从机。

hvvq6cgz

hvvq6cgz1#

mesos-dev团队目前正在研究“维护原语”,以便操作员可以指示特定机器计划在某个时间(或尽快)停机,触发消息到每个框架,通知它们预期的不可用窗口。像marathon这样的框架可以决定将其任务从该节点迁移出去,这样就可以安全地终止该节点,而不需要任何服务停机。
看到了吗https://issues.apache.org/jira/browse/mesos-1474 更多细节/补丁。

相关问题