gpt4 book ai didi

mesos - 迁移 Marathon 应用程序以实现 mesos-slave 正常关机

转载 作者:行者123 更新时间:2023-12-04 08:51:49 25 4
gpt4 key购买 nike

我有一个小型 Mesos 集群,我正在使用 Marathon 管理一组长期运行的服务,每个服务的实例数量可变。

我希望能够根据业务需要启动新节点或终止其中的一些节点。然而,当终止一个节点时,我意识到有一个潜在的问题:当我关闭一个 Mesos slave 时,碰巧一些服务的实例数量暂时低于定义的 minimumHealthCapacity。 .例如,如果要停止的机器正在运行只有一个实例的服务,这可能会导致一些停机时间。

考虑以下简化场景:节点 1 正在运行服务 A,节点 2 正在运行服务 B,节点 3 正在运行服务 C。minimumHealthCapacity对于所有服务都是 1。我想终止节点 1,只留下 2 和 3 运行。我不希望服务 A 出现任何停机时间。预期行为的一个示例是将服务 A 扩展到 2,然后安全地终止节点 1。

我该怎么做才能确保没有服务低于 minimumHealthCapacity ?

理想情况下,我会有一个受滚动更新启发的过程 - 在不同的机器上启动替换,然后终止机器中的服务以关闭。我希望至少有一个自动化过程来做到这一点,以便缩小规模是一个简单的脚本。我对执行此操作所需的时间没有要求,即只有在我确定 Marathon 迁移完成并成功后才能关闭 Mesos slave。

最佳答案

Mesos 开发团队目前正在研究“维护原语”,以便运算符(operator)可以指示特定机器计划在某个时间(或尽快)停机,从而向每个框架触发消息,通知他们预期的不可用窗口。然后,像 Marathon 这样的框架可以决定将其任务从该节点迁移出去,以便可以安全地终止它而不会造成任何服务停机。

https://issues.apache.org/jira/browse/MESOS-1474有关更多详细信息/补丁。

关于mesos - 迁移 Marathon 应用程序以实现 mesos-slave 正常关机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31744825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com