bebebe
все равно не до конца улавливаю проблему, dind это классика
Evgenii
ну смотри, у меня есть роль, в которой я разворрачиваю докер контейнер с cadvisor
Evgenii
так вот, что бы не разворачивать виртуалку, не ставить докер на неё, можно имея локальный докер, пробросить в разворачиваемый молекулой контейнер сокет докер и из контейнера как бы обращаться к докеру. Но! т.к. енджин по факту локальный и мы просто замапили сокет, создаваемый в роли контейнер появляется по факту и в временном тестовом контейнере и на хосте на котором тест прогоняется. и потом тестовый контейнер удаляется, а контейнер от роли остаётся на хосте
Evgenii
руками то ничего
Dmitry
роль должна уметь подчищать за собой
Evgenii
но если это роль которая выкатывает 100 контейнеров где то на виртуалке с сборочником
Evgenii
роль должна уметь подчищать за собой
хммм, и как это организовать ?
bebebe
Ну можно убить enteypoint. Все же не пойму где проблема
Nklya
В шаге CI в конце можно удалить
Evgenii
В шаге CI в конце можно удалить
и как в шаге CI мне понять какие контейнеры дропнуть, а какие нет ?
Nklya
а какой контейнер роль запускает неизвестно разве?
Evgenii
ну если там ранится 100 контейнеров может, или имя динамическое
Evgenii
от куда мне получить актуальный список ID-шников ?
Dmitry
этот список роль должна знать перед началом работы
Dmitry
банально префикс в имена контейнеров добавить
bebebe
я никак не пойму, @jidckii у вас техническая, или архитектурная проблема?
Sergey
ну если там ранится 100 контейнеров может, или имя динамическое
сложи их в факты. а так, канеш, смешно. "....я тут назапускал что-то, кто за мной приберёт?..." WUT?
Nklya
надо дивапса нанять, он уберет
ShadoWalkeR
Господа, а ансибл вложенность поддерживает? Чтото типа такого: tasks: task_install: - name1: .. - name2: .. tags: install task_update_configs: - name1: .. - name2: .. tags: install,update
ShadoWalkeR
А то я сколько не гуглю не могу найти
Evgenii
ставка девапс аникей: задачи: - удалять контейнеры в ci
bebebe
ну сначала архитектурная
тогда вам в @devops_ru или подобный чатик
ShadoWalkeR
гуглите include_tasks, include
Там всего пара действий - смысл выкидывать в отдельный файл?
Nklya
но были какие-то ньюансы
ShadoWalkeR
О, спасибо за блоки
matt
какой модуль для ec2 в ansible использовать? ec2 или ec2_instance?
matt
а, кажется они про разное
Nklya
там что-то депрекейтили про это в 2.5
matt
лол, там synapsys одинаковый, в ec2_instance_facts и ec2_instance
matt
ec2_instance New in version 2.5.
matt
а для чего?
для создания инстанса
Anonymous
Колеги можете подсказать нужно список в таком виде записать в конфиг файл accept hosts = : 1 accept hosts = : 2 accept hosts = : 3 accept hosts = : 4 accept hosts = : 5 accept hosts = : 6 я использую темпейт
Anonymous
.j2
matt
как обратиться к public_ip или public_ip_address в этом yaml'e?
matt
https://pastebin.com/Q457wjtc
matt
first_instance.instances, а дальше всяко уже пробовал, не отдаёт айпишник
Sergey
first_instance.instances, а дальше всяко уже пробовал, не отдаёт айпишник
Потому что вот так: first_instance.instances[0].network_interfaces[0].private_ip_addresses[0].association.public_ip
Sergey
хотя сам формат говорит о том, что так не надо 😊
bebebe
first_instance.instances, а дальше всяко уже пробовал, не отдаёт айпишник
есть такая тема, что ec2 при создании виртуалки не сразу отдает floating ip, и за ним нужно будет отдельно сходить. помойму ансибл дожидается floating ip, но это не точно
matt
ну и wait: yes
Sergey
ну дык это же не то. по-человечьи нужно просто добавить свежачок в инвентори и сделать ему gather_facts. тогда будут работать обычные magic variables.
Sergey
от души в натуре, работает
Я тебе совершенно честно рекомендую прочитать спеку по YaML - тогда любую гадость сможешь сам как прочитать, так и написать. Благо, спека мелкая.
matt
я не нашёл на русском)
bebebe
я не нашёл на русском)
https://hastebin.com/edezetezax.pl
bebebe
вот кусок от провижина одного проекта
matt
так это отсюда - https://docs.ansible.com/ansible/latest/modules/ec2_module.html#ec2-module
matt
я это читал
bebebe
хехе, я писал это до того как это было в документации ;-)
[IPT] Dmitry
можно в инвентори использовать псевдонимы а-ля /etc/hosts?
Sergey
можно в инвентори использовать псевдонимы а-ля /etc/hosts?
можно. но это ты навёл дуло на ногу и готовишься нажать курок.
[IPT] Dmitry
можно. но это ты навёл дуло на ногу и готовишься нажать курок.
ну, допустим, на кучу ног. в свою я постараюсь не попасть. как и в чём подводные камни?
Sergey
IaaC предполагает, что ты пишешь настоящие хосты, настоящие группы и т.д.
[IPT] Dmitry
IaaC предполагает, что ты пишешь настоящие хосты, настоящие группы и т.д.
так они и будут настоящими, все откликаться в DNS
[IPT] Dmitry
IaaC предполагает, что ты пишешь настоящие хосты, настоящие группы и т.д.
просто хочу, чтобы -l hostname или -l hostname.domainname работали
[IPT] Dmitry
для этого нужны псевдоними
[IPT] Dmitry
DNS нормально настроить никак. так сделано идеологически
Vadim
токмо -l bar уже не сработает - для этого придумали ... DNS
bebebe
Коллеги, немного странный вопрос. Есть бесконечный сценарий который запускает три докер контейнера. Сейчас это обычный баш. Подумал переписать его на плейбуку. Вы практикуете "бесконечные плейбуки"?
Vadim
Что значит "бесконечный"? Рекурсивный?
bebebe
Бесконечный это while :; do ....; done
Dmitry
ну, и что мешает засунуть в баш вызов плейбука?