Oleksandr
я даже не знаю, что могло бы быть более оптимальным... набор тегов напротив каждого хвоста?
George
George
Давай вернемся на шаг назад
Oleksandr
конечно
George
есть совокупность однотипных проектов. Это понятно? Но настройки одного хоста (пускай будет nginx) - шаблонны
George
мне нужно, положим, туда прописать апстримы.
George
хочется использовать максимально готовую роль (какой-нибудь https://galaxy.ansible.com/geerlingguy/nginx )
George
как ты шаблонизируешь параметры?
Oleksandr
так
George
я предполагаю, что ты сделаешь родительскую группу
Vladislav 👻
Надо собрать группу проксей, группу апстримов, и то, что вы подразумеваете под a b c
Oleksandr
нет.
выпилю все из плейбуков, что касается окружения - например шаблонизировать конфиг nginx который в цикле прокрутит все твои апстримы. у кого их 1 у кого-то 8
George
George
в них только селектятся группы хостов, на которую нужно применить какую-либо роль
Oleksandr
то есть проукт твой должен уметь деплоиться как на минимальном количестве единиц чего-то там, к примеру всего по 1. так и на масштабированном
Oleksandr
ты ж не просто так указал про консул
Vladislav 👻
Oleksandr
нет консула - будешь сидеть заменять его логикй в плейбуках
George
Vladislav 👻
А стоп, это шаблонизатор
George
в hosts докидываю по группам новые хосты и полетели
George
https://t.me/pro_ansible/89781
George
т.е. масштабироваться как будем
George
1. добавлять проекты project-D, project-E ( однотипные с А и B)
Vladislav 👻
Проекты добавлять, это не масштабирование
George
2. добавлять хосты в каждый из проектов (и соответствующую группу софта, если надо)
Vladislav 👻
Масштабированние, это добавлять хосты к существующему проекту
George
Vladislav 👻
Либо мы не понимаем твоей логики зависимостей между проектами и тогда не плохо было бы на примерах пояснить
Oleksandr
George
ну, я пример пояснил
Oleksandr
сорри. пока не понял проблемы
George
положим есть набор апстримов-1, набор апстримов-2, набор апстримов-3
Oleksandr
пока вообще без каких-то вариантов все идет
George
и отдельно есть прокси, которые смотрят в 1, 2, 3
George
т.е. логично, что получается матрица
Oleksandr
ну. итого 4 группы
George
почему 4?
Oleksandr
прокси
Oleksandr
1 2 3 апстримы
Oleksandr
если они разные
Vladislav 👻
Даже если не разные
George
да не важно наверное
Oleksandr
ключевое у тебя - 3 набора апстримов. ты ж не сказал 1 набор. значит они чем-то отличаются
George
могут отличаться
Oleksandr
стоп стоп
Oleksandr
давай точнее
Vladislav 👻
В общем, никто не мешает для прокси 1 объявить переменную с группой хостов апстрим1 и пропихнуть ее в темплейт для генерации конфигов
Oleksandr
отличаются или нет
Oleksandr
@gecube могут тут не бывает
Oleksandr
потому что ты тогда не покроешь все варианты
Oleksandr
у тебя например может быть все проще
George
ну, понятно, что вся эта история про то, как наколбасить не мифический универсальный вариант
Oleksandr
3 набора апстримов, при этом набор 1 и 3 пустые
George
а описать всю инфру минимальной кровью
George
может быть
George
какое-то время
Oleksandr
возможно твоя "копипаста" намного удешевит логику тех же шаблонов
Oleksandr
почему нет?
George
мне тоже так кажется
George
sed и редакторы текста никто не отменял
George
зато наглядно
George
вообще, кмк, это больше история для консула
Oleksandr
давай обратимся к микросервисам
George
т.е. все-таки разделить сам софт и его бутстрап и конфиги
Oleksandr
Oleksandr
даже не то что к коснусу а просто к инвентори и реджистри
Oleksandr
у тебя есть лоад балансер
есть бекенды
есть дискавери
Oleksandr
lb смотрит в дискавери
Oleksandr
бекенды регаются в дискавери
Oleksandr
классика
George
пример с nginx был высосан из пальца, но ты понял )
Oleksandr
понимаю
George
на самом деле еще много других софтин, которые работают по тому же принципу