Konstantin
Я не понял, как эти три роли в одном плейбуке раскатаются на две машины
используйте разные группы для апп, nginx будет в обоих плейбуках
Vladislav 👻
В плейбуке все роли. В каждой роли только один инклуд. Он инклудит основной стартовый таскфайл роли при проверке наличия имени роли в спец переменной.
Т.е. вы логику работы плейбука переложили на роль и получается, что роль без плейбука несамодостаточна? При этом еще и странная условная логика?
Vladislav 👻
Ок
Konstantin
Разрабы не бизнес, если разработчики рулят процессом деплоя, то пусть сами решают эти проблемы.
это понятно, я тут чуть о большем - когда зависимости большие и в рамках одной роли две аппы не влезут.
Алексей
Неудобно портянки писать
Vladislav 👻
Погодите, вы именно в одну роль загоняете все аппы?
Konstantin
Т.е. вы логику работы плейбука переложили на роль и получается, что роль без плейбука несамодостаточна? При этом еще и странная условная логика?
у нас плейбука отвечает за работу сервиса а не всей системы. например какфка + зоокипер = один плейбук. этой системе вообще не интеренсно что сбоку есть, она уже самодостаточна.
Konstantin
точно так же кликхауз + зоокипер (тут он общий с кафкой) = один плейбук. и там уже расписано что и как делать
Konstantin
различия только на уровне инветоря и group_vars
Konstantin
там разные хосты и значения
Vladislav 👻
Окей, хост[1-3] кафка + зукиппер, хост[4-6] кх + зукиппер. Как в два плейбука и без повторения хостов это раскатать?
Vladislav 👻
При этом поменять конфиг у всего зукиппера одним плейбуком возможно?
Konstantin
Konstantin
да зотя бы и так можно, плейбуки это мы для себя изменили
Konstantin
нам так проще
Vladislav 👻
Кафка и кх входят в зукиппер?
Konstantin
да
Vladislav 👻
По хостам
Konstantin
да
Konstantin
ЗК один для всех
Vladislav 👻
Блин, хреновые примеры, кафка и кх без зуккипера не могут
Konstantin
ну вы запускатее плейб и он катит по очереди все
Vladislav 👻
У вас просто совпадение идеального состояния
Konstantin
вообще играться можно как угодно. обчно это нужно на стадии деплоя а потом только конфиги по тегам дергать
Vladislav 👻
Завтра посмотрю у себя и сформулирую "тяжелый" случий
Konstantin
у нас было совсем недавно так что в разные группы входил один хост. это было крайне не удобно. ну и добавили хост только в одну группу. конечно это потребовало много усилий чтоб переписать роли. но зато теперь хоть порядо и не надо бегать везде искать что и как. ну и сильно упростило вести разные стейжи
Andrey
Одни проксируют, другие вообще балансируют.
Andrey
И писать по таску, синхронизируй этот темплейт, а потом отдельно релоад nginx
Vladislav 👻
Неее, это не проблема
Max
🤣🤣🤣 my name is John Connor...
Алексей
И писать по таску, синхронизируй этот темплейт, а потом отдельно релоад nginx
Никто не сказал, что роль будет простой. Используй шаблонизацию и всё получится.
Max
ох уж эти писатели ролей... сценаристы :)
Sergey
Есть _штатные_ способы работать с группами хостов, с их объединениями и исключениями. Но если хочется извращаться - это завсегда пожалуйста.
Sergey
Вот здесь: https://docs.ansible.com/ansible/2.4/intro_patterns.html
Nklya
ифы в ролях это норм)
Nklya
регулярки еще тоже прекрасно
Sergey
ифы в ролях это норм)
Согласен, отлично показывают, когда использован башсибл.
Max
регулярки еще тоже прекрасно
и главное не использовать модули и все делать из скриптов на tcsh...
Nklya
Кстати, дискриминация
Max
Кстати, дискриминация
и для этого уже есть модуль. или плагин.
Nklya
всем отключили стикеры и гифки
Sergey
да? пардон.
Nklya
Да, я тут страдаю, но оказывается кому-то можно)
Sergey
Но страдать, уж извини, не буду 😃
Sergey
Паттерны в группах я для себя переоткрыл недавно - пару недель назад, и счастлив - всё меньше уродства в плейбуках.
Konstantin
Паттерны в группах я для себя переоткрыл недавно - пару недель назад, и счастлив - всё меньше уродства в плейбуках.
наверно это актуально когда на один хост ставится стопка сервисов. когда один хост == один сервис не так актуально. имхо
Sergey
наверно это актуально когда на один хост ставится стопка сервисов. когда один хост == один сервис не так актуально. имхо
По-разному. Однако это совершенно точно позволяет меньше повторять привязки хостов к группам.
Anonymous
Hi is it possible to use winrm port 5985 fot kerbrous authentication?
Anonymous
In windows
Anonymous
Ok thanks
Timur
For kerberos you should add the following parameter: ansible_winrm_transport: ntlm
Sergey
- name: Restart and enabled prometheus service service: name=prometheus-server state=restarted enabled=yes tags: restart - name: Restart and enabled alertmanager service service: name=alertmanager state=restarted enabled=yes tags: restart - name: Restart and enabled karma service service: name=karma-server state=restarted enabled=yes tags: restart кто подскажет как можно уместить в один блок? with_items?
Ilia
With_items, но вроде советуют использовать loop Example: - name: 'Creating required folders for {{ zabbix_agent.name }}' win_file: path: '{{ item.path }}' state: '{{ item.state }}' loop: - { path: '{{ zabbix_agent.folder }}', state: 'absent' } - { path: '{{ zabbix_agent.folder }}', state: 'directory' } - { path: '{{ zabbix_agent.scripts }}', state: 'directory' } - { path: '{{ zabbix_agent.logs }}', state: 'directory' } - { path: '{{ zabbix_agent.temp }}', state: 'directory' }
Max
Строчный синтаксис в плейбуке? Фу...
да будут прокляты еретики не использующие ansible-lint :)
Sergey
Строчный синтаксис в плейбуке? Фу...
он экономит место в длинну, мне не нужны роли в пять листов
Max
Амен, и аминь и т.д.
Sergey
админь
Timur
он экономит место в длинну, мне не нужны роли в пять листов
Эпический контур! Так вы их еще и на бумаге распечатываете?
Sergey
вообще разницы никакой нет главное выполнение требуемого функционала
Max
вообще разницы никакой нет главное выполнение требуемого функционала
если пишешь сам для себя, не за деньги, то 100% прав.
Max
когда работает команда - нужны конвенции: чтобы легче читался чужой код, чтобы патчи были легко усвояемые, в общем аспекты сопровождения и поддержки.
Timur
- name: 'Restart and enabled {{ service_item }} service' service: name: '{{ service_item }}' state: restarted enabled: True loop: - prometheus-server - alertmanager - karma-server loop_control: loop_var: service_item tags: restart
Timur
Вот так правильно должно быть
Max
я не делаю отступы в списке....
Timur
вообще разницы никакой нет главное выполнение требуемого функционала
Как только ролью начинаете пользоваться не только вы один - разница тут же появляется
Max
А зря
иди на фиг :)
Timur
ага, и роль стала в два раза длиннее
Вы бумагу для печати экономите?