Комментарии 2
мы выделили группы сервисов и запускаем плейбуки в параллели внутри этих групп
Как запускаете плейбуки? Вручную или есть CI сервер для этого? Расскажите подробнее, как организована параллельность?
Затем пакет заливается в локальный репозиторий
Локальный репо на хост машине? Можете привести более подробный пример как настроено? Будет супер если покажете конфиги про это место.
были сделаны dns-алиасы для некоторых сервисов
При помощи докер-возможностей или как-то вовне?
файл для haproxy генерируется автоматически на основе ansible inventory
Что-то свое или общедоступное?
Пробовали для сбора логов elk (elastic, kibana, logstash)?
Не смотрели вместо haproxy consul?
Чем запускаете несколько сервисов внутри контейнера?
+2
Как запускаете плейбуки? Вручную или есть CI сервер для этого? Расскажите подробнее, как организована параллельность?
Плейбуки запускаем из самописаного скрипта на python, используя ansible модуль. Параллельность запуска также организована в питоне.
Локальный репо на хост машине? Можете привести более подробный пример как настроено? Будет супер если покажете конфиги про это место.
Нет, это отдельный контейнер с deb-репозиторием, который с небольшими изменениями сделан на основе общедоступного образа combro2k/mini-dinstall. Этот репозиторий прописывается в apt/source.list и доступен во всех других контейнерах.
При помощи докер-возможностей или как-то вовне?
Локальный общий для всех контейнеров bind, в который обертка (bash-скрипт) над docker run кладет dns имя контейнера
файл для haproxy генерируется автоматически на основе ansible inventory
Что-то свое или общедоступное?
Полностью свое, генерация сделана на основе принятого в компании формата описания сервисов в плейбуках ansible.
Пробовали для сбора логов elk (elastic, kibana, logstash)?
Не пробовали. Но будем смотреть в сторону какого-то инструмента.
Не смотрели вместо haproxy consul?
Не смотрели. Haproxy был выбран потому, что с ним есть опыт и он используется в продакшене
Чем запускаете несколько сервисов внутри контейнера?
Запускаем убунтовский /sbin/init, дальше upstart/sysVinit/systemd
+3
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как сделать тестовое окружение максимально похожим на боевое