Andrei
чтобы те, кто будут потом править/адаптировать плейбук проще жили
bebebe
цель проста, поменял в одном месте, не поменял в другом, не консистенность
Andrei
bebebe
но я бы все таки настоял, что-бы создавались дополнитеьные dns зоны для разруливания "где сервер"
Andrei
ну можно и консул сделать и ему инвентори скормить, но хочется без такого оверхеда
bebebe
это решение не требует консула.
Andrei
я про днс.
bebebe
и я про днс
Vadim
при установке этой самой БД делайте set_fact: db_hostname: foo.example.com и потом читайте этот факт?
Andrei
и я про днс
я как пример привел - динамическое нахождение сервисов тоже вариант, но на мой взгляд, поднимать DNS если можно сразу все сгенерировать - лишне
bebebe
такая организация с архитектурной точки зрения правильнее. про "поднимать DNS" не понял пассаж, добавить CNAME запись в зону делается один раз.
Andrei
но я сделаю сначала как bebebe предложил, еще раз спасибо
bebebe
и далее изменяется как только у вас база переезжает с одного место в другое
Andrei
Andrei
на каждой машине?
bebebe
какое доменное имя у вашего компьютера с базой данных?
Andrei
нету, ip только непубличный
bebebe
поднимите dns серевер с доменом, .infra, добавьте туда ваши сервера, пропишите в /etc/resolv.conf на ваши машинах
все что не .infra, пересылайте forwarding на dns вашего провайдера
bebebe
это можно сделать подняв один docker контейнер. есть так же роли которые это сделают из коробки
Andrei
я понял решение. и по вашему это не лишне? не проще сразу при деплое все сгенерировать?
bebebe
вам виднее безусловно, я полной картины не знаю, может быть вы над домашним проектом работаете и впринципе пофик
Andrei
потому что в конечном счете конфиг днс тоже будет сгенерирован при деплое и вариант что-то поменять - запустить ansible снова, не предполагается что руками будут лазать. конечно при изменении хоста БД в моем варианте приложениям рестарт понадобится, но для меня это несущественно.
bebebe
можно делать dnsupdate при изменении вашей инфры
https://docs.ansible.com/ansible/2.6/modules/nsupdate_module.html
впрочем это уже давно оффтопик
bebebe
объяснять зачем в 2018 нужен dns как то даже неловко, впрочем как и в 2004
Andrei
понял, спасибо за пищу для размышлений :)
Andrei
Здесь нужно понимание решаемой задачи. Если "тупо указать единственный хост БД" - это одно, просто подстановка, как указано выше. Если нужно обеспечивать какую-то балансировку - это другое, и Ансибл не сможет решить за вас, как именно это нужно сделать, а самое главное - зачем. Наиболее очевидный, но и наиболее скучный вариант - клиент умеет перебирать хосты, тогда состав группы серверов БД туда пишется. Менее очевидный и более сложный - есть какая-то внешняя сущность (consul/etcd/zookeeper/younameit), куда клиент обращается с вопросом "дай-ка мне актуальное имя сервера БД".
я понял, спасибо. хотелось именно обойтись без внешней сущности, без service discovery вообще, по крайней мере на первом этапе, сервис не супер большой. возможно DNS и вариант, хотя посмотрев интернет, говорят что он не для этого (хоть и используют так) и нормальный заточенный под это сервис лучше.
спасибо за развернутые ответы
Danis
Использую remote_user, есть способ передать пароль без set facts?
Danis
Или любой другой способ указать пароль без facts?
Vladimir
Есть способ спрятать пароль ansible-vault
Constantin
Anonymous
Приветствую друзья!
Anonymous
@varyumin в gitlab в секретную переменную
Anonymous
@varyumin ещё вариант - использовать сертификаты в смарткартах, но прямо с ansible я такого не использовал и полагаю, есть подводныеикамни
bebebe
Anonymous
@varyumin да наверное так можно. Разве, что поколжовать над правами доступа как то. Чтобы запустить CI можно было но вывести переменную - нет
Anonymous
Коллеги, подскажите, как правильно работать из ансибла с приватными репозитариями в гите ?
bebebe
ну и первая ссылка из гугла
https://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh
Anonymous
ну может я не до конца понимаю, но условно на удаленом сервере, мне чтобы отклонировать репу, нужен будет приватный ключ, на УДАЛЕННОМ сервере. Куда ложить его не хочется
bebebe
ssh-agent вам поможет в этом
Anonymous
пойду попробую, спасибо за наводку
brestows
Народ а кто-то сдавал экзамен у red hat по ansible ?
Anonymous
Что то не горит он желанием туда форвардится. Сгенерировал ключ. ДОбавил в гит. Добавил в sshagent ключ видется, если сделать обычный git clone с локальной машины - вполне нормально отрабатывает.
В конфиг .ssh/config добавил
Host 1.2.3.4
ForwardAgent yes
Anonymous
что ему еще не нравится - фиг знает
Anonymous
правда лью с арча на убунту, но по идее в обще фиолетово должно быть
bebebe
Anonymous
причем если сделать через ансибл
ssh -T git@github.com
You've successfully authenticated, but GitHub does not provide shell access
но клонировать ни в какую
Anonymous
в общем само потупило - само завелось
Anonymous
не удобно как то
Anonymous
потом сломалось. Может кому поможет в будущем - очистите ssh ключи агента. Помогает
zhag
Друзи, я тут ебанулся и вот что подумал.. а могу я --extravars брать сразу из монги? Прямо консолью
Eduard
Sergey
bebebe
почему вы тогда не упомянуи еще salt?
канал вроде об ansible
bebebe
Constantin
Ребят привет, вопрос не про Ansible, простите, если правила нарушаю, сносите если так:
Подскажите чатик по безопасности, где не обсуждают как кого похакать, а как от кого защититься. Можно еще канал, если кто знает.
bebebe
вы как-то странно смотрите на этот вопрос
под ваше определенние так же подходит и salt с его pillar'ом.
предположим, что у меня есть k8s, который информацию о своем стейте хранит в etcd, мне нужно натравит ansible на этот стейт
Sergey
bebebe
простите что подвел вас
bebebe
я не до конца понимаю что вы предлагаете.
есть инфстатруктура, в которой нужно делать configuration management.
с частью задач справляется ansible
другая часть становится "сложной"
нужно расширять стек технологий и поддерживать несколько configuration management систем добавив тот же chef?
bebebe
что делать инженеру в такой ситуации?
Constantin
что делать инженеру в такой ситуации?
Изучать и добавлять новый иструмент, это не плохо.
Главное чтобы в проекте было все задокументированно, чтобы инженер который придет после вас мог собраться со всем этим.
Или заменять инструмент, если это возможно на более гибкий.
Или расширять тот инструмент, который у вас есть (своими силами, силами сообщества, или силами разработчиков в команде)
bebebe
Fedor
а как ведёт себя кнопка i`ll be back?
Fedor
у бота
Fedor
))))
Eduard
Alexander
Коллеги, а вот у меня такой вопрос. Есть набор кли-программ и докер еще не изобрели. Какие инструменты есть для выстраивания зависимости запуска (и в идеале версионирования зависимостей) знает?
Ну там программа-А должна запустится перед программой-Б и должна быть версии не ниже 0.0.1, и не старше 0.0.5.
Допустим порядок запуска я еще могу в плейбуке разрулить. А вот с версиями кто как поступает?
Tadeusz
systemd?
Tadeusz
а, то про энсибл)
manefesto
Эй
manefesto
пссс
manefesto
ребята
manefesto
А вообще есть best practices по написанию systemd?
Хочу приложение деплоить
Надо понимать куда складывать конфиги, куда логи, куда бинарники
в моем понимании это
/etc/sysconfig/<APP_NAME>
/opt/<APP_NAME>
/var/log/<APP_NAME>
manefesto
и да, буду деплоить через ансибл =)
bebebe
https://t.me/grouplinux
manefesto
Думаешь она ответит мне на эти вопросы ?