в чем: сейчас у нас все конфиги разбиты по разным файлам и папкам (всего около полутора сотни файлов), никакой автоматизации раскатки не было, сейчас начали внедрять раскатку через ansible, и в процессе внедрения подумали, а может вообще хранить на конечном сервере конфиг едиными файлом а-ля “nginx -T > nginx.cof” по аналогии как это делает например nginx-ingress-controller в кубере? То есть в репозитории все так же будет разбито по файлам, а на конечном сервере 1 файл
У кого как nginx-конфиги раскатываются на серверы?
по вашим словам у вас на nginx приземляются больше 100 проектов и вы хотите их настройки раскатывать ансиблом... тут вопросов нет, просто мне кажется, что плясать от серверов - это один подходи, а от проектов - другой и в некоторых случаях более интересный. вы разворачиваете проект - его сервера и все, что на них, и тут же вкидываете в nginx необходимую конфигурацию. иначе не понятно как у вас устроена связь между "блоками" проекта. и не понятно, стоит ли дробить эти связи
на текущем этапе у нас 2 балансера (1 мастер, другой резерв), на которых 100 проектов, и пока что хотим просто прекратить вручную править конфиги на самих серверах, что регулярно приводит к рассинхрону конфигов между обоими балансерами. А вот держать свой конфиг nginx’а в рамках каждого проекта тут хз - потому что есть общие компоненты между проектами, и если держать общие компоненты в одном репозитории, а конфиги nginx’ов в репозиториях проектов, то имхо начнутся проблемы типа “этот репозиторий подтягивает общий компонент из этого репозитория, а там его уже нет"
не понял вопрос, общие конфиги у нас в conf.d да
ну если задача собрать и оптимизировать конфигурацию nginx, то норм и одним файлом и ничего больше не прилеплять.... как промежуточный вариант возможно все паковать в архив и на месте распаковывать
а если конфиги хранить в git и при изменениях git pull делать? у меня так было, когда я папку настроек nginx сделал в виде репо и просто пулил изменения
хм, надо попробовать, спасибо
Обсуждают сегодня