Найти в Дзене
Ansible: переменные, факты и секреты — простое объяснение для новичков
Ansible переменные, факты и секреты — это основа любой автоматизации, но именно здесь новички чаще всего путаются. В этой статье простыми словами разберём приоритет переменных Ansible, работу с register и set_fact, что такое facts, как использовать Ansible Vault и зачем нужны vars_prompt и no_log. Если вы только начинаете работать с Ansible и хотите понять, как всё реально работает, — эта инструкция для вас. Часть тем описанных в этой статье уже поднималась ранне. Но без этих повторений на мой взгляд данная статья не была бы полностью завершенной...
17 часов назад
Релизы без простоя: как Ansible делает обновления безопаснее
Эта статья показывает, как Ansible помогает выпускать обновления быстро и без остановок сервиса. Мы разберём простыми словами 6 приёмов, которые снижают риски, делают релизы предсказуемыми и экономят время команды: быстрые разовые операции, мягкая обработка ошибок, ожидание готовности сервисов, фоновые «долгие» задачи, поэтапные раскатки и однократные шаги «для всей компании». Когда продукт растёт, важно обновлять его без простоя и без «неожиданностей». Ansible — это инструмент, который превращает «человеческие инструкции» в точные и повторяемые шаги...
1 неделю назад
Привет! Долго не писал - сорян 🙌 Возвращаюсь и беру новый ритм: свежие статьи по IaC - раз в неделю (Воскресенье) Сначала добьём базовые вещи в Ansible Затем пойдём глубже: начнём с углублённого погружения в списки и словари и практической работы с ними В «углублёнках» будут короткие примеры и задания, чтобы можно было потренироваться самому 💡📒 Плейбук без структуры - как кофе без фильтра: бодрит, но гущи слишком много ☕️😅 Весь рабочий код из старых статей соберу в git с краткими описаниями, а ссылки добавлю прямо в уже опубликованные посты 🔗 Поехали! 🚀
1 неделю назад
Handlers в Ansible: умный перезапуск сервисов
Анотация Если у тебя в плейбуках после каждой правки конфига идёт ещё одна таска service: restarted, а nginx в логах дёргается по десять раз за запуск — значит, пора познакомиться с handlers. В этой статье разберём, что такое handler, как notify связывает его с тасками и почему сервис перезапускается ровно один раз, даже если его «дёрнули» сразу несколько задач. Зачем вообще нужны handlers Типичная история: у тебя есть несколько задач, которые правят конфиги nginx; после каждой ты на всякий случай...
1 месяц назад
Шаблоны Jinja2 в Ansible: первые шаги
Аннотация Если ты устал править конфиги руками под каждый сервер, а в плейбуках всё ещё везде copy, то самое время познакомиться с шаблонами. В этой статье разберём, что такое шаблоны Jinja2 в Ansible, почему модуль template удобнее, чем copy, как подставлять переменные ({{ my_var }}), писать простой if и for прямо внутри файла и использовать пару полезных фильтров (default, upper, lower, join). Зачем вообще нужны шаблоны Jinja2 Боль классическая: один и тот же конфиг на десятках серверов; везде...
1 месяц назад
Циклы в Ansible: loop, with_items и как не копировать таски
Аннотация Циклы в Ansible помогают не копировать одну и ту же задачу по десять раз: добавлять сразу несколько пользователей, ставить список пакетов, создавать пачку файлов. В этой статье разберём, как использовать loop, чем он отличается от старого with_items, и как писать один аккуратный таск вместо простыни копипасты. Зачем вообще циклы в Ansible Типичная боль новичка: есть 5 пользователей — и появляется 5 одинаковых тасок, отличающихся только именем. Работает, но: тяжело поддерживать — нужно...
1 месяц назад
Условия в Ansible: when, changed_when, failed_when без боли
Условия в Ansible: when, changed_when, failed_when без боли — это способ сделать плейбуки умнее, чище и предсказуемее. В этой статье на живых примерах разберём, как работать с условиями when, переопределять статус изменений через changed_when и мягко обрабатывать ошибки с помощью failed_when, чтобы Ansible не «орал» changed и failed там, где всё в порядке. Пишем простыми словами, без магии: вы поймёте, когда и как применять условия в Ansible в своих реальных плейбуках. В реальной жизни у нас редко «идеальный» одинаковый зоопарк серверов...
2 месяца назад
Ansible tasks и playbook: простыми словами
Аннотация Если вы только начинаете работать с Ansible и запутались в терминах play, task и playbook, эта статья для вас. Мы разберём, как устроен playbook, что такое Ansible tasks, чем таска отличается от модуля, и напишем небольшой плейбук “с нуля”, который устанавливает пакет, кладёт конфиг и перезапускает сервис. В конце будет краткий чеклист “что сделать прямо сейчас” и подсказка, куда двигаться дальше. Представьте, что вы пишете список дел для группы серверов: В мире Ansible: Проще аналогия: Play всегда описывается на верхнем уровне файла, а таски живут внутри него, в списке tasks:...
2 месяца назад
Ansible переменные: простыми словами (Часть 2)
В этой части разбираем переменные в Ansible: как их регистрировать, где объявлять, как к ним обращаться, чем отличаются переменные в инвентаре от переменных в playbook, и что такое фильтры Jinja2 для преобразования значений. Статья подойдёт тем, кто уже запускал простые playbook-и и хочет перестать «гадать, откуда взялось это значение». Иногда задача не только «выполнить команду», но и запомнить её результат, чтобы использовать дальше. Для этого в Ansible есть ключевое слово register. Простой пример:...
2 месяца назад
Ansible переменные: простыми словами (Часть 1)
Переменные в Ansible — это простой способ один раз задать значение и использовать его где угодно. В этой статье простыми словами разбираем ansible переменные: как их объявлять и применять, как подставлять значения через Jinja2, работать со списками и словарями, а ещё объединять конфигурации с помощью фильтров combine и приёма merge variables. Подойдёт новичкам и тем, кто хочет навести порядок в плейбуках без лишнего «магического» синтаксиса. Переменная — это «коробочка с ярлыком». Ярлык (имя) должен быть удобным и понятным...
2 месяца назад
Ansible inventory: что это и как настроить (Часть 2)
Аннотация. В этой части продолжаем разбирать инвентарь Ansible простыми словами: порядок загрузки, переменные (групповые и хостовые), псевдонимы, поведенческие параметры подключения и подводные камни. С готовыми INI/YAML примерами и чек‑листом. Что это. Ansible может собирать инвентарь из нескольких источников: файла INI/YAML, целой директории, нескольких -i подряд, динамического инвентаря. Все эти источники объединяются в один «каталог» хостов и групп. Как управлять. [defaults] inventory = inventories/dev Подводные камни...
2 месяца назад
Ansible inventory: что это и как настроить (Часть 1)
Ansible inventory — это список ваших хостов и их групп. В этой статье (Часть 1) разберём, зачем нужен inventory, какие есть форматы (INI и YAML) с живыми примерами, как работать с группами, children, диапазонами хостов, подключать несколько источников через -i, и организовать inventory в каталоге. Все примеры — с понятными кусочками кода и разбором типичных ошибок. Inventory — это «карта инфраструктуры» для Ansible: список хостов, их групп. Зачем: Итог: без корректного inventory Ansible «не знает», куда подключаться и как объединять хосты...
2 месяца назад