Bogdan (SirEdvin)
У меня вот так работает, где top-prod это группа хостов
Rainbow
на выбранных хостах могут быть другие контейнеры, которые я не хочу перезапускать
Bogdan (SirEdvin)
У вас один плейбук на все сервисы, получается?
Sergey
я не понимаю причем тут limit. Limit выберет хосты. А мне нужно перезапустить все контейнеры по признаку группы, а не хостов.
ключ extra-vars + роль, отвечающая за _осблуживание_ контейнеров, в которой тегами помечены блоки действий (запуск, останов, перезапуск и т.д.) + переменная с именем контейнера или списком имён.
Sergey
т.е. вы против подхода 1 таск на 1 контейнер?
Я про такой поход никогда не слышал. Говорю же - сидим, загниваем всем чатиком.
Bogdan (SirEdvin)
У вас никогда не бывает приложений, растянутых на несколько контейнеров? Типо web воркеры + очереди задач
Rainbow
я в общем использую ansible как полуавтоматический окестратор. И конкретно тут поменить группы тегами нормально. все плейбуки я так не пишу
Bogdan (SirEdvin)
Просто такой подход обычно сильно разбивается об такие приложения, кмк
Rainbow
Просто такой подход обычно сильно разбивается об такие приложения, кмк
там где больше 10-20 разных контейнеров уже стоит ставить настоящий оркестратор. Там где 5-10 контейнеров я использую ansible потому что 0 оверхеда.
Sergey
...
Rainbow
...
я может не так разьясняюсь. Есть ansible, все круто, лучшие практики и тп. Но отдельно в стороне его так же можно использовать вместо docker-compose почти бесплатно (чуть доку почитать). Два плюса по сравнению с docker-compose - zerodowntime без костылей - его не нужно ставить на хосты
Sergey
я может не так разьясняюсь. Есть ansible, все круто, лучшие практики и тп. Но отдельно в стороне его так же можно использовать вместо docker-compose почти бесплатно (чуть доку почитать). Два плюса по сравнению с docker-compose - zerodowntime без костылей - его не нужно ставить на хосты
Так зачем же извращаться-то? Есть _штатные_ штуки в Ansible, позволяют то же самое делать _хорошо_, а не, кхм, как попало. Если это элемент job security - ок, нет вопросов, человек с улицы может и не понять, почему сделано _именно так_.
Rainbow
Я не понимаю в чем извращение. Огромное количество людей выбирают nomad/k8s потому что там есть магический "apply". Т.е. есть файл, там описано желаемое состояние. Запускается команда и вуаля, все как нужно. Я пишу нормальные роли на nomad/consul и тп в крупных проектах. А конкретно я тут говорю про kubectl apply для "бедных".
Rainbow
Прошу извинить, но я не вижу смысла в дальнейшем обсуждении в контексте получения каких-то конструктивных результатов.
Конструктивной критики не было, кроме _штатные_ штуки в Ansible, позволяют то же самое делать _хорошо_ Какие штуки и как делаю - не понятно.
Rainbow
Кроме того, что "restart должен быть отдельным плейбуком". Правильно понял?
Sergey
Мой пойнт вот: https://t.me/pro_ansible/121033
Rainbow
ключ extra-vars + роль, отвечающая за _осблуживание_ контейнеров, в которой тегами помечены блоки действий (запуск, останов, перезапуск и т.д.) + переменная с именем контейнера или списком имён.
нет никакого обслуживания. Я просто хочу применять состояние описанное в docker_container на хосты. restart: yes это пример состояния, которое я в теории хочу увидеть.
Sergey
нет никакого обслуживания. Я просто хочу применять состояние описанное в docker_container на хосты. restart: yes это пример состояния, которое я в теории хочу увидеть.
Да это неважно. Сейчас нет - потом есть. Важно, что именно роль отвечает за все действия, и все они - только в ней.
Rainbow
Насчёт магического эпплай. Это не всегда так работает. Далеко не всегда
в кейсах --extra-vars="backend_tag=$GIT_SHA" ни одно раза не ломалось
Отделение Bereke Bank
Насчёт магического эпплай. Это не всегда так работает. Далеко не всегда
ты имеешь ввиду йоба мерджи лейблов и прочего, которые шлют нафиг всю "декларативность" кубернетесь?))
George
ты имеешь ввиду йоба мерджи лейблов и прочего, которые шлют нафиг всю "декларативность" кубернетесь?))
В том числе. А ещё если у тебя нужный оператор не задеплоем, то фиг тебе. А ещё кубернетес евенчуалли среда
George
Что-нибудь когда-нибудь в конце-концов случится, но тебе может быть нужно здесь и прям сейчас
Rainbow
ты имеешь ввиду йоба мерджи лейблов и прочего, которые шлют нафиг всю "декларативность" кубернетесь?))
в nomad+consul кстати теги и тп разделены на две части. Те, что привязаны к контейнеру и те, что идут в consul (service -> tags). Чаще меняются те, что идут в консул и они никак не влияют на container. А куб насколько я помню на любой чих meta будет перезапускать поды
Aleksandr
Коллеги, если на сервере нет интернета, то модуль yum зависает, хоть при удалении пакета, хоть при установке (тут имеется ввиду, что update_cache: false, нужно просто убедиться что пакет стоит), что при попытке установить просто локально rpm. на других серверах где есть инет таких проблем нет. это нормально? как полечить?
Aleksandr
при -vvvv что говорит?
да ни шо, отваливается по таймауту. на сервере вижу что процес yum висит все это время
Aleksandr
в логах юма ничего
Aleksandr
Отключи репы внешние.
вот почему? если я на сервер прихожу руками и говорю rpm -i *.rpm - оно работает
Aleksandr
что мешает ансиблу это сделать?
George
потому что ансибл работает через yum? но ты можешь вызвать рпм напрямую.
Sergey
что мешает ансиблу это сделать?
Потому что ты используешь модуль yum.
Aleksandr
вот вопрос на миллион, зачем yum'y интернет чтобы удалить пакет?
George
потому что он обновляет каталог?
Aleksandr
update_cache: false стоит в модуле
Serg
disablerepo: "*" не работает?
Sergey
Пусть себе стоит.
Sergey
ну дока же есть, ну......
Sergey
Artem
Есть какой-нибудь аналог по naming convention для ансибла как для питона или джавы? чтобы по имени переменной понять внутрення роль / общие груп варс / инвентори и тд. в гугле и доке не нашёл
Artem
Нету: ты лучше знаешь, где у тебя что. Есть и плюсы: ничто не мешает тебе выбрать свой конвеншн.
это да, просто может уже есть готовые варианты, чтобы не разрабывать свой велосипед
Отделение Bereke Bank
прастити
Aleksandr
Dmitriy
и еще раз здравствуйте. а если я подкинул конфиг nginx, зарегал результат (вот вывод дебага https://pastebin.com/Z8RuzUab) и например хочу обратиться не к changed(так получается), а к "failed": false например, а еще лучше к "dest": "/etc/nginx/nginx.conf", как правильно это сделать ?
Sergey
nginx_reload.results[0].failed
методы объектов цепочкой? O_o
Dmitriy
nginx_reload.results[0].failed
конструкцию с [0]пропустил, спасибо. А что она делает ? было так nginx_reload.results.failed
Dmitriy
методы объектов цепочкой? O_o
а как правильно, на ваш взгляд ?
Sergey
а как правильно, на ваш взгляд ?
как ключи словаря: nginx_reload['results'][0]['failed']
Dmitriy
как ключи словаря: nginx_reload['results'][0]['failed']
"skip_reason": "Conditional result was False" . С такой конструкцией скипается
Dmitriy
results там лист, а не словарь
спасибо за разъяснение, ваш вариант рабочий. Но, раз уж обратился, то выслушаю все советы, так как смысл не сделать и забыть, а сделать и понять )
Sergey
"skip_reason": "Conditional result was False" . С такой конструкцией скипается
Я не могу посмотреть конкретно, в чём вопрос - пастебин заблочен.
Dmitriy
Я не могу посмотреть конкретно, в чём вопрос - пастебин заблочен.
если вы не против, могу в личку кинуть дабы чат не засорять
Sergey
да, давай, интересно
Dmitriy
Второй вариант решения моей проблемы when: nginx_reload['results'][0]['failed'] == false . @tnt4brain @Lamobot спасибо за помощь
Игорь
Всем привет. Подскажите как установить модуль vsphere_guest в ansible ?
Sergey
Всем привет. Подскажите как установить модуль vsphere_guest в ansible ?
Воспользоваться замшелой версией Ансибла, например: https://docs.ansible.com/ansible/2.3/vsphere_guest_module.html
inqfen
Всем привет. Подскажите как установить модуль vsphere_guest в ansible ?
А https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html#vmware-guest-module почему не подходит?
Игорь
Воспользоваться замшелой версией Ансибла, например: https://docs.ansible.com/ansible/2.3/vsphere_guest_module.html
лан переформулирую... хочу VMware Vm создавать из шаблонов .... как это сделать?
inqfen
Создать
Sergey
лан переформулирую... хочу VMware Vm создавать из шаблонов .... как это сделать?
https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html#vmware-guest-module
Игорь
https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html#vmware-guest-module
ясно спс ... сразу не нашел сам... ушел курить...
inqfen
https://docs.ansible.com/ansible/latest/modules/vmware_guest_module.html#vmware-guest-module
Думаешь если ссылку 2 раза дать, ему больше поможет?)
Sergey
Думаешь если ссылку 2 раза дать, ему больше поможет?)
Ну для меня это две разные ссылки, если что 😉
inqfen
Но человека видимо не устроило