George
какой последний питун в 16-й ?
George
> pyenv наше все? +
Отделение Bereke Bank
Artur
А есть модуль в 2.7 для запуска контейнеров докера?
Artur
Pull push есть, а вот run что то не нашел
Aleksandr
а потому что не надо делать run через ansible. используй systemd
Aleksandr
темплейтишь юнит, кладешь его ансиблом и запускаешь ансиблом.
Aleksandr
[Unit] Description=my first docker service Requires=docker.service After=docker.service [Service] Restart=always RestartSec=3 ExecStartPre=/bin/sh -c "/usr/bin/docker rm -f receiver 2> /dev/null || /bin/true" ExecStart=/usr/bin/docker run --rm -a STDIN -a STDOUT -a STDERR -v /etc/my_project/receiver:/etc/my_project/receiver --name receiver receiver:1.0 ExecStop=/usr/bin/docker stop receiver [Install] WantedBy=multi-user.target например
Aleksandr
сюда же можно добавлять всякие штуки типа регистрации\дерегистрации в консуле на старте-остановке контейнера
George
почему так сложно, И вообще нафиг тогда докер нужен
Aleksandr
пиздец какой-то
спасибо, полезно
George
sysmtemd-nspawn
George
спасибо, полезно
ты издеваешься ?
Aleksandr
почему так сложно, И вообще нафиг тогда докер нужен
это не сложно, это нормальный подход к отслеживанию состояния сервиса
George
докер не нужен (с)
George
если есть системди
George
два менеджера состояния - это как-то дофига
Aleksandr
ты издеваешься ?
да, конечно. Какой комментарий, такая и реакция. Будет обоснованное заключение, будет нормальный ответ
George
sysmtemd-nspawn
еще раз повторюсь - это лучше интегрируется
Aleksandr
задача докера - изоляция а не отслеживание состояния
George
либо podman 👮‍♂️
George
systemd ИЗОЛИРУЕТ не хуже
George
иди учи матчасть
Aleksandr
ну мы здесь говорим конкретно о докере, не надо уходить в сторону
George
пнх
понял, мой токсичный друг
George
аргумент, ок
Aleksandr
Ну, ты меня первый послал =)
George
George
я просто сказал, что шаблонизация ансиблом системди для запуска докера выглядит как пиздец
George
проблема в том, что системди и докер плохо интегрируются
George
я понимаю, если бы коллега рассказал про
George
https://github.com/ibuildthecloud/systemd-docker
George
если бы рассказал, что restart нужно делать ЛИБО в systemd unit, ЛИБО в параметрах запуска докер контейнера
George
что там ломается отслеживание це-групп и отслеживание живости процесса
George
(потому что докер отстреливается в фон при запуске - там отдельная закавыка с ключами типа -d)
Aleksandr
ну ты видел в моем примере ключ -d?
George
ты смайлик забыл
Aleksandr
все равно что сказать "ну да, пистолет конечно хорошо, но если выстрелить себе в ногу, то это конечно пиздец, товарищи"
George
а есть бита, которую можно убрать в багажник авто )
Aleksandr
я честно говоря хз зачем я теряю время на спор в интернете)) Вообще оффтоп для чата. Сколько людей столько мнений, если решение полностью устраивает значит оно для тебя правильное
George
еще раз посмотри, пожалуйста, почему человечек написал systemd-docker и ишьюйки по ссылке
George
и подумай еще раз - хочешь ли ты пихать докер клиент в systemd юнит
Aleksandr
хочу, пихаю, и не только я один.
George
миллион мух не могут ошибаться, 100%
Alex
темплейтишь юнит, кладешь его ансиблом и запускаешь ансиблом.
для простого запуска контейнера - оверкилл. имхо
manefesto
Надо закрыть сеть через iptables Решил не городить километры iptables правил, а сделать через ipset Делаю дебаг - name: debug hosts debug: msg: "ipset add nomad {{item}}" with_items: - "{{ groups['all'] }}" по факту хочется получить ansible_ssh_host
manefesto
что-то вроде * ipset add nomad host1 * ipset add nomad host2
manefesto
кстати криво написал
Oleg
Всем привет. Хочу сгенерировать конфиг "advertise_addr": "{{ ansible_default_ipv4.address }}" "client_addr": "127.0.0.1 {{ ansible_default_ipv4.address }}", "retry_join": ["{{ <ip.server1> }}","{{ <ip.server2> }}","{{ <ip.server3> }}"] Подскажите, пож-та, как получить данные для {{ <ip.server*> }}? В голову приходит только одна мысль, определить дополнительные переменные в инвентори.
George
что-то вроде * ipset add nomad host1 * ipset add nomad host2
мне казалось, что оно должно по-другому выглядеть. Короче - с тебя внятное описание, что ты хочешь
George
что то такое
manefesto
мне казалось, что оно должно по-другому выглядеть. Короче - с тебя внятное описание, что ты хочешь
В общем задача Объеденить несколько датацентров Соответственно у меня есть парочка inventory Я хочу на каждом сервере создать ipset со списоком всех хостов, это надо для того чтобы построить нечто вроде приватной сети внутри публичной
George
ну и в цикле добавлять ipset - ага
manefesto
Да, спасибо, я почему то думал что можно к group["all"] обратится как к объекту
manefesto
Кстати ipset живет между ребутами или его надо как-то сохранять?
George
фигня в том, что ipset вроде не имеет готового модуля для ансибла вроде как (но это не точно)
George
like this: https://everythingshouldbevirtual.com/automation/ansible-ip-sets-and-dshield-block-list/
Отделение Bereke Bank
Oleg
manefesto
=)
manefesto
Да у меня даже готовые плейбуки под это есть
manefesto
консул и номад
ну и велкам https://t.me/ru_hashicorp