Как перезапустить службу в назначенное время в Марафоне?

Есть ли способ перезапустить службу на основе Docker в Marathon в определенное время каждый день? Я хотел бы сказать что-то вроде «масштабировать до 0 в полночь и масштабировать до 1 в 6 утра» или что-то в этом роде.

В DC/OS есть понятие jobs, но непонятно, мне, может ли задание перезапустить запущенную службу.


person mfirry    schedule 13.04.2017    source источник


Ответы (2)


Насколько я знаю, у Marathon нет такой функции, Marathon используется для управления (создание/удаление/масштабирование/проверка работоспособности) приложениями в кластере Mesos, как это делает процесс init (например, Systemd) для Linux. Запланированные задания делегируются другим платформам, функциональность запланированных заданий в CS/OS упоминается в ваш вопрос предоставлен metronome, а также есть сложная структура Chronos, чтобы сделать то же самое, что и what crontab job для Linux.

Даже у Marathon нет таких встроенных функций, он предоставляет богатые RESTful API, вы можете легко решить проблему, используя Chronos и Marathon вместе:

  1. Создайте скрипт для остановки/запуска вашего приложения через Marathon API
  2. Создайте задание Chronos для запуска вашего скрипта в полночь, чтобы остановить ваше приложение
  3. Создайте задание Chronos для запуска вашего скрипта в 6 утра, чтобы запустить приложение
person shizhz    schedule 16.04.2017

Вы можете использовать mesos-chronos для планирования заданий. С его помощью можно запланировать Docker. Дополнительные сведения см. на странице https://mesos.github.io/chronos/

person Girdhar Sojitra    schedule 16.04.2017