George
Timur
Max
Max
типа web, proxy, cache?
George
И?
И ничего. Чего ждете? Подробного описания? Просто как всегда от Вас помощи ноль
Sergey
т.е. многоролевые игры?
Если уж пилить русскоязычную терминологию, то здесь уместнее перевод типа "пьеса, драма". Тогда playbook нормально так превращается в "сборник", в котором находятся "пьесы". В каждой "пьесе" есть дествующие лица - хосты, которым назначаются - сюрприз-сюрприз! - полноценные роли либо некие задачи 😊
Это, конечно, моё имхо, но надеюсь - не только, а ещё и повод для размышлений.
слова "пьеса" и "драма" тоже не русского происхождения
так что предлагаю смириться с "плейбуком"
для начала предлагаю найти в словаре русского языка слово "хост"
заимствования - это нормально, нужно это принять)
Timur
George
итак. Есть набор хостов.
Скажем a1, a2, a3, b1, b2, b3, c1, c2, c3. Есть набор софта A, B, C.
Нужно раскатать так:
A - на все
a3, b3, c1, c2, c3 - B
c1,c2,c3 - C
Далее.
Конфиги у каждой группы свои. По такой схеме:
* конфиги A везде одинаковые
* конфиги C везде одинаковые, с точностью до ansible_host
* конфиги B на a3 и b3 одинаковые с той лишь разницей, что на a3 прописаны хосты a1,a2,a3, а на b3 - хосты b1,b2,b3
* конфиги B на c1,c2,c3 одинаковые
George
задача сделать это минимум копипасты (понятно, что можно сделать group_vars/all, project_a, project_b и тогда все срастается, но это копипаст)
George
консула нет и не предвидится
Vladislav 👻
Делайте группы по всем признакам
Vladislav 👻
И по группам варс и плей
Alexey
George
итого получается
George
[project-A]
a1
a2
a3
[project-B]
b1
b2
b3
[project-C]
c1
c2
c3
[soft-A]
a1....c3
[soft-B]
a3
b3
c1
c2
c3
[soft-C]
c1
c2
c3
George
я правильно понял?
Timur
George
(на самом деле можно оптимизировать убрав группу soft-C и как заинклюдив группы в soft-A и soft-B
George
George
а не просто "нет"
Timur
итак. Есть набор хостов.
Скажем a1, a2, a3, b1, b2, b3, c1, c2, c3. Есть набор софта A, B, C.
Нужно раскатать так:
A - на все
a3, b3, c1, c2, c3 - B
c1,c2,c3 - C
Далее.
Конфиги у каждой группы свои. По такой схеме:
* конфиги A везде одинаковые
* конфиги C везде одинаковые, с точностью до ansible_host
* конфиги B на a3 и b3 одинаковые с той лишь разницей, что на a3 прописаны хосты a1,a2,a3, а на b3 - хосты b1,b2,b3
* конфиги B на c1,c2,c3 одинаковые
Группа C: с1, c2, c3
Группа B: a3, b3, C
Группа A: all
George
George
как вы будете в a3 получать инфу о том, что нужно получить добавить в конфиги a1,a2,a3?
Timur
George
Я же пояснил выше. А Вы опять начинаете.
George
на хосте а3 будет установлен софт В с параметрами кастомными которые аналогичны хосту b3
Vladislav 👻
Понятие "свой конфиг" не говорит о том, что там полностью уникальный или как минимум выстроенный на темплейте
George
но в этом конфиге должны быть сматчены хосты а1, а2, а3.... сколько угодно. По какому-то шаблону
на хосте b3 - очевидно апстримы будут b1, b2
George
можете представить, что а3 - это nginx proxy, а a1,a2 - апстримы
George
Vladislav 👻
George
как так?
George
предложите лучше
George
я проблему обозначил, по-моему, вполне подробно
Timur
George
George
https://t.me/pro_ansible/89781
George
ну, ок, выкидываем soft-C, т.к. он идентичен project-C
Timur
Ну да. И?
Vladislav 👻
Nginx к nginx, upstream к app
George
ничего
George
спасибо за отсутствие помощи
Timur
В чем вопрос-то?
George
как правильно построить группировку хостов
Vladislav 👻
Это плейбук должен быть комбайном, а не хосты
George
чтоб соблюсти удобство эксплуатации и бест пректис ансибла
George
я думал, что предложите какую-нибудь дичь с древовидными структурами или тегированием хостов.
Vladislav 👻
Теги не про хосты
Timur
George
George
повторюсь, что измерений по которым можно классифицировать хосты может быть несколько )
Timur
Timur
Группы - это теги
Vladislav 👻
Делайте группы по всем признакам
Vladislav 👻
И по группам варс и плей
George
Oleksandr
если хочется набор - сделать их с помощью уникальных групп и чилдренов
Timur
Какая помощь требуется?
George
Oleksandr
Timur
George
Я пристал? 😲
да, как обычно в цикл "непонимания" вопросов собеседника и молотите одно и тоже. Сходите, отдохните, выпейте кофейку
Oleksandr
George
Timur
George
Oleksandr
не-не, все ок
как только появляется новый уникальный набор чего-то - сразу пилю +1 группу
Oleksandr
а потом если надо то включаю ее в родительскую или создаю новую родиельскую
Timur