如何在Marathon的预定时间重新启动服务?

时间:2017-04-13 16:29:00

标签: marathon dcos

有没有办法让Marathon在每天的特定时间重新启动基于Docker的服务?我想要的是一种方式来说“在午夜时刻缩小到0并在早上6点将其缩放到1”或类似的东西。

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

2 个答案:

答案 0 :(得分:1)

据我所知,Marathon没有这样的功能,Marathon用于管理(创建/删除/扩展/健康检查)应用程序在Mesos集群上的应用程序init进程(例如Systemd)为Linux做的事情。计划作业被委托给其他框架,scheduled jobs functionality on CS/OS提供了问题中提到的metronome,并且还有一个复杂的框架Chronos来做同样的事情,就像{{ {1}} Linux的工作。

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

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

答案 1 :(得分:0)

您可以使用mesos-chronos来安排job.Docker可以使用它进行安排。更多细节见https://mesos.github.io/chronos/