Найти тему
Ansible CMDB
В предыдущей статье мы рассмотрели удобную структуру директорий для Ansible. Оставался один вопрос – причем тут Configuration Management Database? Ну, раз уж мы говорим про IaC, то именно CMDB будет тем самым носителем знания, «что есть инфраструктура». Религия Ansible утверждает, что наборы настроек компонуются в роли, которые, в свою очередь, назначаются соответствующим хостам. В результате у нас должны получиться очень лаконичные playbook, только с ролями. Вот, только, сразу возникают проблемы с их читаемостью...
2 месяца назад
Ansible. Начало
Вопреки замыслу разработчиков и бесчисленных тьюториалов, внедрять Ansible начинают когда инфраструктура уже разрослась. Непомерно. Настолько, что руками это хозяйство уже не удержать. Вы освоили азы формирования inventory, уверенно научились делать «-m ping», и даже познали, что в новой папке надо сделать «ansible-galaxy role init». И пришло время применить все эти навыки на практике. Перед вами раскинулась существующая инфраструктура во всей красе! Виртуалки размножались почкованием, сервисы черенкованием и самосевом...
5 месяцев назад
Клиентские SSL сертификаты как второй фактор и замена корпоративному VPN
Клиентские SSL сертификаты используются для реализации взаимной аутентификации между клиентом и сервером, обеспечивая высокий уровень безопасности за счет двустороннего подтверждения подлинности. В отличие от «обычного» SSL, где сервер подтверждает свою подлинность перед клиентом, при использовании клиентских SSL-сертификатов проверку проходят обе стороны. Это значит, что клиент должен предъявить свой сертификат для подтверждения своей личности. Такой подход не только дополнительно идентифицирует...
5 месяцев назад
Ansible мониторинг сервисов
“Быстро поднятый сервис не считается упавшим!” гласит народная админская мудрость. Но чтобы быстро поднять, надо не менее быстро осознать, что именно упало. В период моего руководства коллективом админов существовало вполне себе гласное правило: если о падении сервиса я узнаю от инженера раньше, чем от пользователей, вместо кнута достается пряник. Стоит ли говорить, что тут же появляется стремление развернуть покрывающую все подряд (включая наличие зерен в кофемашине) систему мониторинга. Совместный...
5 месяцев назад
Скрытый сайт
“ - Ты staging видишь? - Нет… - А он – есть!” Да мало ли зачем еще надо сделать скрытый сайт, о существовании которого никто даже не сможет предположить. Пример со staging весьма показателен – на финальном этапе хотелось бы разместить приложение уже на production сервере, чтобы брать реальные данные из боевых баз и подсматривать в боевые кэши-в-памяти. Но очень не хочется, чтобы его увидел кто-то еще, особенно, со стороны. Или админка должна быть доступна во внешнем мире, но как бы ее скрыть от любопытных...
5 месяцев назад
Удобная структура директорий Ansible
Если вы запускали даже один единственный playbook в своей жизни, то знаете, что ansible очень трепетно относится к находящимся рядом директориям. И норовит самостоятельно, совершенно без вашего ведома схватить и использовать по своему усмотрению положенные туда файлы. Эти грабли старательно разложены разработчиками ansible по всем окрестным кустам и тропинкам в виде hardcoded имен. Чего только стоит простенький файл “nginx.pkg.yml”, случайно положенный в “group_vars/datacenter/”, вместо “group_vars/webserver/” (и commit его, и master merge пока code review в отпуске)...
5 месяцев назад
Расширяем Ansible LXC полигон
В предыдущей статье (Ansible полигон для отладки на LXC) мы создали на локальном lxc хосте несколько миньонов, чтобы отлаживать на них playbook. В конце остался один вопрос: для чего в inventory включена переменная lxc_host? Она, в частности, использована для делегирования task на хост при создании миньона. Наиболее пытливые умы обнаружили ее в условии when при настройке DHCP. Во всех этих местах можно просто указать localhost и все будет работать. Но, при наличии переменной, легким движением руки,...
5 месяцев назад
Ansible полигон для отладки на LXC
Для разработки и отладки playbook нужен полигон. Вы же помните, что мы имеем дело с production? А в моем случае, еще и BCAs (business-critical applications). Поэтому как у сапера – право только на одну ошибку. Да и перед регулярным применением тоже лучше проверять на полигоне. Почему не на stage? Так кто нам его отдаст – это епархия команд разработки. Лучше иметь все инструменты под рукой. (Кстати, тут произошла забавная опечатка – «инфструменты» - решил закрепить этот термин – инструменты для инфраструктуры)...
5 месяцев назад