Как принято делать правильное развертывание docker через ansible?

Изучаю стык docker и ansible.
Вижу два подхода к этому:
- docker_container как модуль (выходит, свой плейбук на каждый контейнер?)
- ansible-container (напоминает docker-compose, но с донастройкой ролями)

В ansible-container во всех примерах и туториалах вижу, что роли располагают прямо рядом с container.yml, и все потом запускается прямо на хосте (ansible-container build/run)

но, по идее, смысл ansible в том, чтобы без агентов, и даже не заходя на хосты, с рабочего места разворачивать конфигурацию, проводить автоматизированную настройку. А в случае ansible-container все не так.

подскажите, в чем я неправ? Может быть, нужно это как-то иначе использовать?
Какие сейчас практики применяют?
  • Вопрос задан
  • 1935 просмотров
Пригласить эксперта
Ответы на вопрос 3
@922j
Docker сам по себе всего лишь один из кирпичиков, основа.
"Разворачивать систему на сервере" - это к Docker-Compose, Flynn, Kubernetes и пр.
Ответ написан
подскажите, в чем я неправ? Может быть, нужно это как-то иначе использовать?
Какие сейчас практики применяют?


Вы не совсем поняли. Ansible был когда docker и в помине не было. И отвечал задачам подготовки сервера к доставке(deploy) продукта (настройка окружения, установка зависимостей, ...) и непосредственно развертывания продукта. Так же некоторое применение было в обслуживании серверов (обновление сертификатов, установке патчей, ...).

Сейчас в пост докеровском веке, отпала необходимость в установке и настройке зависимостей на сервере, изоляции сервисов (chroot, ...), ... Зависимости и сам продукт доставляются на сервер в готовом виде, т.е. уже развернутом и настроенном. В этом идея контейнеров. Это не от того, что docker играет на том же поле что Ansible, а потому что подход контейнеризации избавил Ansible от некоторых функции.

Что не предоставляет docker? Это установка самого docker-а на сервере и запуск поверх него готовых контейнеров. Для этого, по прежнему необходим инструмент, можно тот же Ansible.

P.S. Относительно недавно недавно избавил себя от использования Ansible, в пользу Fabric. По причине тяжеловесности Ansible для простых задач. Хотя обновленный Fabric стал лучше, но по прежнему не идеален (описание в императивном стиле, ...). Условно идеальным средством могут служит инструменты для оркестрации docker: Swarm и Kubernites, но не для простых сайтов и маленьких проектов.
Ответ написан
Этот функционал лучше всего решают системы оркестрации контейнерами.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Vsemayki.ru Новосибирск
от 80 000 до 150 000 руб.
Factory5 Казань
До 200 000 руб.
18 янв. 2020, в 09:01
3500 руб./за проект
18 янв. 2020, в 08:49
60000 руб./за проект
18 янв. 2020, в 08:36
16000 руб./за проект