2016-05-30 6 views
0

В настоящее время, если вы разворачиваете новую версию изображения докеров с использованием платформы mesos-marathon, контейнеры со старыми изображениями получат SIGTERM, и через 3 секунды они получат SIGKILL и завершаются немедленно.Как грациозно выполнять развертывание в mesos-marathon

Если мы интегрируем фреймворк с марафоном-фунтом (haproxy wrapper), эти контейнеры продолжают вращаться (haproxy продолжает отправлять трафик на него) до тех пор, пока не будет запущена следующая проверка работоспособности (это происходит при внутренней настройке haproxy). Таким образом, все запросы, отправляемые в эти контейнеры в течение этого интервала, получат 5XX. Итак, есть временное решение, чтобы вытащить контейнеры из поворота от марафона-фунта до SIGKILL.

Даже если вы установите интервал проверки работоспособности на 3 секунды, невозможно гарантировать грамотное развертывание, так как может быть состояние гонки между следующей проверкой работоспособности и 3 секундами, после чего марафон отправляет SIGKILL в контейнер и устанавливает интервал проверки работоспособности 1 секунда просто невозможно, когда количество внутренних узлов увеличивается. Есть ли другой способ достичь этого?

ответ

0

Есть 3 варианта, которые могли бы работать для вас.

  1. Поскольку @Tobi предлагает взглянуть на blue green deployment с марафоном.
  2. Вы можете увеличить executor_shutdown_grace_period или уменьшить (так как вы упомянули, что это еще не вариант) haproxy healtcheck interval будет в два раза короче грациозного периода.
  3. Немного взломанный, но ваше приложение может отменить регистрацию у самого хапрокси, когда получил SIGTERM.

 Смежные вопросы

  • Нет связанных вопросов^_^