Какую выбрать систему оркестрации для докера?

Суть такова, я ищу систему оркестрации, главными критериями которой являются:
Управление через файлы конфигурации, как в кубернетс, обновление без простоя и перезапуск при падении как в кубернетс, но при этом все это будет работать на одной машине, без кластера и кубернетс как бы излишен.
Собственно в этом и вопрос, есть что-то такое? А то систем миллион, не охото копать все, чтобы найти одну, надеюсь на совет тех, кто знает :-) А может можно и его использовать? В общем, хочу совета :)
  • Вопрос задан
  • 1397 просмотров
Решения вопроса 1
toxicmt
@toxicmt
CTO at hexlet.io
В такой ситуации вам не нужна оркестрация. Берете ansible (управления конфигурацией) и деплоите. В докере есть свой супервизор, который поднимет сервис если он упадет.

p.s. здесь можно подсмотреть уже рабочее решение https://github.com/hexlet-basics/hexlet_basics/blo...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Попробуйте docker swarm
Ответ написан
Комментировать
Судя по Вашему описанию, Вам и в правду не нужен кластер.

через файлы конфигурации, как в кубернетс ... перезапуск при падении как в кубернетс

Это называется инфраструктура как код. Для простых задач достаточно элементарный bash скрипт (srv-up.sh & srv-down.sh, make file, ...) или docker-compose.

обновление без простоя

Для этого посмотрите связку docker+nginx+consul+consul-template. В интернете много статьей, примеров и т.д.
Работает так:
  • Есть сервис. nginx (srv-v.1 в конф.) -> srv-v.1
  • Выходит вторая версия продукта и строится образ srv-v.2 и доставляется на сервер
  • Запускаем образ srv-v.2 на сервере
  • Состояние сервера: nginx (srv-v.1 в конф.) -> srv-v.1
    srv-v.2
  • consul обнаружит srv-v.2 в докере, что в свою очередь обновит конфигурацию nginx и сделает nginx reload (не перезагрузка)
  • Состояние сервера: nginx (srv-v.1, srv-v.2 в конф.) -> srv-v.1
    \ ->srv-v.2
  • Останавливаем srv-v.1 или удаляем srv-v.1 со списка серверов в consul
  • consul обнаружит остановку srv-v.1 в докере, что в свою очередь обновит конфигурацию nginx и сделает nginx reload (не перезагрузка)
  • Состояние сервера: nginx (srv-v.2 в конф.) ->srv-v.2

Можно обновить запуском к примеру через bash скрипт: upgrade-srv.sh srv-v.1 srv-v.2
или то же через CI
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы