如何在马拉松的预定时间重新启动服务



有没有办法让马拉松上基于 Docker 的服务每天在给定时间重新启动?我想要的是一种说"午夜缩放到 0 并在早上 6 点缩放到 1"之类的方式。

在 DC/OS 上,有jobs的概念,但我不清楚作业是否可以重新启动正在运行的服务。

我所知,Marathon没有这样的功能,Marathon用于管理(创建/删除/扩展/健康检查(Mesos集群上的应用程序,就像init进程(例如Systemd(对Linux所做的那样。计划作业被委托给其他框架,你的问题中提到的CS/OS上的计划作业功能由节拍器提供,还有一个复杂的框架Chronos来做同样的事情,就像Linux crontab工作一样。

即使 Marathon 也没有这样的内置功能,它提供了丰富的 RESTful API,您可以通过结合使用 Chronos 和 Marathon 轻松解决您的问题:

  1. 创建脚本以通过马拉松 API 停止/启动应用
  2. 创建 Chronos 作业以在午夜运行脚本以停止应用
  3. 创建 Chronos 作业以在早上 6 点运行脚本以启动应用程序

您可以使用中观时间来调度作业。Docker可以使用它进行调度。更多详情请见 https://mesos.github.io/chronos/

最新更新