Ansible Mastery: Лаборатория автоматизации рассмотрим подробно
Как устроено обучение
Подробнее
Программа курса
Введение
Введение в мир Ansible: автоматизация без границ
Зачем изучать Ansible сегодня
Установка Ansible: все способы и особенности подходов
Подготовка среды для практики с Ansible: ВМ, локальная инфраструктура и облако
Что ещё может понадобиться
Вопросы
Ansible Inventory
Какие переменные можно указывать для хоста?
Использование переменных групп
Проверка и отладка inventory
YAML-инвентори (альтернатива INI)
Динамические inventory
Файл ansible.cfg — централизованная настройка Ansible
Вопросы
Ad-hoc команды в Ansible
Разница между модулями command и shell в Ansible
Ключи командной строки Ansible — -m, -a, -u, -b, --limit
Управление файлами и сервисами с помощью ad-hoc команд в Ansible
Модуль service в Ansible — управление службами
Практическое задание: Использование ad-hoc команд в Ansible
Вопросы
Структура проекта Ansible
Практические советы по организации проекта
Вопросы
Что такое коллекции в Ansible
Где хранятся коллекции?
Коллекции и роли
Примеры коллекций
Готовый пример файла
Основы YAML для Ansible
Единый YAML-файл
Можно ли использовать JSON в Ansible?
Вопросы
Playbook — что это такое
Структура и синтаксис playbook’а
Первый полноценный playbook
Что мы узнали о Playbook
Вопросы
Переменные и условия
Работа с переменными в playbook’ах
Подробнее про register и факты в Ansible
Практический пример playbook’а,
Раздел 2. Условия (when) в playbook
Решение практического задания по when
Вопросы
Циклы (loop, with_items, loop_control), коллекции
Практический playbook с решением задания по разделу loop и loop_control.
Что такое ansible.builtin.apt
Вопросы
Обработка ошибок в Ansible
Раздел — ignore_errors
Пример готового playbook’а,
Пример решения
Раздел — changed_when
Решение мини-задания
Раздел — block, rescue, always
Пример playbook’а,
Резюме: Обработка ошибок в Ansible
Вопросы
Ведение
Вставка-вводная: Что такое роли в Ansible
include_tasks и import_tasks
Готовый пример playbook’а
Пример
Вопросы
include_vars и структура переменных
Пример реализации задачи по уроку include_vars
Gример использования include_vars
Пример с loop и include_vars
Обобщение: include_vars в Ansible
Вопросы
pre_tasks, tasks, post_tasks
Пример playbook’а
Повтор
Реалистичный пример playbook’а,
Вопросы
Урок: pre_tasks, tasks, post_tasks
Работа с tags
Пример playbook’а
Сценарий: CI/CD для веб-приложения
Вопросы
Обобщение: tags в Ansible
handlers и notify
Где объявляются handlers в playbook'е?
Пример playbook’а,
Зачем нужны handlers — суть на пальцах
Вопросы
Обобщение: handlers и notify в Ansible
Ручная работа с фактами (setup, gather_facts)
Пример playbook’а,
Еще раз про Ansible-факты.
Практический пример playbook’а,
Вопросы
Что такое роли в Ansible
Как роли используются и переиспользуются в реальных проектах
Доступ к Ansible Galaxy из России
Расширенные аспекты использования ролей
Как использовать не всю роль, а только нужные её части
Задача: использовать только установку Nginx из роли
Вопросы
Что такое defaults в роли?
Создание роли вручную и через ansible-galaxy init
Создать роль nginx_demo
Лучшие практики при создании ролей в Ansible
Чек-лист: Качественная роль в Ansible
Вопросы
Подключение ролей в playbook
Пример полного playbook’а,
Расширенные рекомендации по подключению ролей в Ansible
Вопросы
Шпаргалка: Подключение ролей и передача переменных
Передача переменных в роли 1
Пример полной роли с переменной в defaults/
Приоритет переменных в Ansible
Вопросы
Обобщение: переменные в контексте ролей Ansible
Использование внешних ролей
Использование внешних ролей - сценарий
Практический пример
Обобщение: Системные факты в Ansible
Вопросы
requirements.yml — управление зависимостями ролей и коллекций
Установка Docker через Ansible
Кросс-платформенность и контроль systemd
Проверка Docker после установки
Обобщение: Установка Docker через Ansible
Вопросы
Как подключить модули
Запуск одиночных контейнеров
Сборка Docker-образа из Dockerfile
Push образа в реестр через Ansible
Управление контейнерами через Ansible
Как безопасно загрузить образ перед запуском контейнера
Полный сценарий запуска контейнера через Ansible
Пример — запуск контейнера с конфигом и переменными
Вопросы
Docker Compose с Ansible
Управление состоянием сервисов с docker_compose
Проверка, что сервисы работают после docker-compose up
Обобщение: Docker Compose с Ansible
Вопросы
Практическое задание: мультиконтейнерное приложение с Ansible + Docker Compose
Дополнительный play: Остановка и удаление приложения
Итоговый урок: Полный проект с ролями и Docker Compose
group_vars/all.yml — централизованные переменные
site.yaml: запуск приложения с ролями и Docker Compose
Практическое задание
Подключение к удалённому Docker-хосту в Ansible
Пример: управление несколькими Docker-хостами + delegate_to
Проверка состояния контейнера перед действием
Перезапуск контейнера, если он существует, но остановлен
Подключение к Docker через сокет по SSH
Инспекция удалённого Docker Engine
Работа с Docker Volumes и хранилищем в Ansible
Хранение логов приложения на хосте
Использование volume для передачи настроек приложения
Очистка неиспользуемых Docker-томов через Ansible
Финальный шаг
Введение в Jinja2 и переменные в шаблонах
Как используется Jinja2 в Ansible: через модуль template
Введение в Jinja2 и переменные в шаблонах Ansible
Пример
На заметку
Мини-задание: создаём свой шаблон приветствия
Таблица сравнения модулей работы с файлами в Ansible
Условия, циклы и фильтры в шаблонах Jinja2
Циклы {% for %}: повторяем действия
Фильтры |: изменение переменных
Фильтр password_hash (специальный для Ansible)
Мини-задание: фильтры Jinja2 в действии
Списки, словари и вложенные структуры в шаблонах Jinja2
Как с ними работать в шаблоне?
Мини-задание
Дополнение: ещё немного про структуры
Модульные шаблоны: include, block, import в Jinja2
Дополнительно
Мини-задание
Напутствие: Как и зачем использовать шаблоны Jinja2 в Ansible
Комплексный шаблон — всё вместе
Комплексный шаблон nginx с несколькими сайтами
Вопросы
Введение в безопасность Ansible
Зачем вообще нужна безопасность в Ansible
Типовые ошибки и уязвимости в проектах на Ansible
Базовые практики безопасности в Ansible
Организация переменных и vault в Ansible-проекте
Безопасность Ansible в CI/CD: GitLab, GitHub и не только
Вопросы
Работа с ansible-vault: команды, сценарии, примеры
Команды ansible-vault
Интеграция ansible-vault в playbook
Сценарии из практики
Запуск playbook с ansible-vault
Вопросы
Практическое задание
Безопасная структура переменных и инвентори
Где хранить переменные в структуре проекта
Приоритет переменных
Масштабируем переменные и vault
Vault-переменные и безопасная автоматизация в CI/CD
Вопросы
Практическое задание
Интеграция с внешними хранилищами секретов
lookup: как получать секреты "на лету" из Vault, AWS и других источников
Настройка доступа к HashiCorp Vault
vars_plugins и credential_plugins: как подключать внешние секреты без явного lookup
Vault или ansible-vault? Что выбрать и когда
Гибридные сценарии
Вопросы
Безопасность в автоматизации и CI/CD
Безопасная организация переменных в CI/CD
Ротация секретов
Контроль доступа
Чеклист безопасной автоматизации с Ansible
01Знакомство с Ansible: первые шаги
Введение
Введение в мир Ansible: автоматизация без границ
Зачем изучать Ansible сегодня
Установка Ansible: все способы и особенности подходов
Подготовка среды для практики с Ansible: ВМ, локальная инфраструктура и облако
Что ещё может понадобиться
Вопросы
02Ansible Inventory — основа для работы с хостами
Ansible Inventory
Какие переменные можно указывать для хоста?
Использование переменных групп
Проверка и отладка inventory
YAML-инвентори (альтернатива INI)
Динамические inventory
Файл ansible.cfg — централизованная настройка Ansible
Вопросы
Ad-hoc команды в Ansible
Разница между модулями command и shell в Ansible
Ключи командной строки Ansible — -m, -a, -u, -b, --limit
Управление файлами и сервисами с помощью ad-hoc команд в Ansible
Модуль service в Ansible — управление службами
Практическое задание: Использование ad-hoc команд в Ansible
Вопросы
Структура проекта Ansible
Практические советы по организации проекта
Вопросы
Что такое коллекции в Ansible
Где хранятся коллекции?
Коллекции и роли
Примеры коллекций
Готовый пример файла
03Playbook
Основы YAML для Ansible
Единый YAML-файл
Можно ли использовать JSON в Ansible?
Вопросы
Playbook — что это такое
Структура и синтаксис playbook’а
Первый полноценный playbook
Что мы узнали о Playbook
Вопросы
Переменные и условия
Работа с переменными в playbook’ах
Подробнее про register и факты в Ansible
Практический пример playbook’а,
Раздел 2. Условия (when) в playbook
Решение практического задания по when
Вопросы
Циклы (loop, with_items, loop_control), коллекции
Практический playbook с решением задания по разделу loop и loop_control.
Что такое ansible.builtin.apt
Вопросы
Обработка ошибок в Ansible
Раздел — ignore_errors
Пример готового playbook’а,
Пример решения
Раздел — changed_when
Решение мини-задания
Раздел — block, rescue, always
Пример playbook’а,
Резюме: Обработка ошибок в Ansible
Вопросы
04Расширенные конструкции Ansible Playbook
Ведение
Вставка-вводная: Что такое роли в Ansible
include_tasks и import_tasks
Готовый пример playbook’а
Пример
Вопросы
include_vars и структура переменных
Пример реализации задачи по уроку include_vars
Gример использования include_vars
Пример с loop и include_vars
Обобщение: include_vars в Ansible
Вопросы
pre_tasks, tasks, post_tasks
Пример playbook’а
Повтор
Реалистичный пример playbook’а,
Вопросы
Урок: pre_tasks, tasks, post_tasks
Работа с tags
Пример playbook’а
Сценарий: CI/CD для веб-приложения
Вопросы
Обобщение: tags в Ansible
handlers и notify
Где объявляются handlers в playbook'е?
Пример playbook’а,
Зачем нужны handlers — суть на пальцах
Вопросы
Обобщение: handlers и notify в Ansible
Ручная работа с фактами (setup, gather_facts)
Пример playbook’а,
Еще раз про Ansible-факты.
Практический пример playbook’а,
Вопросы
05Роли (Roles) в Ansible
Что такое роли в Ansible
Как роли используются и переиспользуются в реальных проектах
Доступ к Ansible Galaxy из России
Расширенные аспекты использования ролей
Как использовать не всю роль, а только нужные её части
Задача: использовать только установку Nginx из роли
Вопросы
Что такое defaults в роли?
Создание роли вручную и через ansible-galaxy init
Создать роль nginx_demo
Лучшие практики при создании ролей в Ansible
Чек-лист: Качественная роль в Ansible
Вопросы
Подключение ролей в playbook
Пример полного playbook’а,
Расширенные рекомендации по подключению ролей в Ansible
Вопросы
Шпаргалка: Подключение ролей и передача переменных
Передача переменных в роли 1
Пример полной роли с переменной в defaults/
Приоритет переменных в Ansible
Вопросы
Обобщение: переменные в контексте ролей Ansible
Использование внешних ролей
Использование внешних ролей - сценарий
Практический пример
Обобщение: Системные факты в Ansible
Вопросы
requirements.yml — управление зависимостями ролей и коллекций
06Ansible + Docker
Установка Docker через Ansible
Кросс-платформенность и контроль systemd
Проверка Docker после установки
Обобщение: Установка Docker через Ansible
Вопросы
Как подключить модули
Запуск одиночных контейнеров
Сборка Docker-образа из Dockerfile
Push образа в реестр через Ansible
Управление контейнерами через Ansible
Как безопасно загрузить образ перед запуском контейнера
Полный сценарий запуска контейнера через Ansible
Пример — запуск контейнера с конфигом и переменными
Вопросы
Docker Compose с Ansible
Управление состоянием сервисов с docker_compose
Проверка, что сервисы работают после docker-compose up
Обобщение: Docker Compose с Ansible
Вопросы
Практическое задание: мультиконтейнерное приложение с Ansible + Docker Compose
Дополнительный play: Остановка и удаление приложения
Итоговый урок: Полный проект с ролями и Docker Compose
group_vars/all.yml — централизованные переменные
site.yaml: запуск приложения с ролями и Docker Compose
Практическое задание
Подключение к удалённому Docker-хосту в Ansible
Пример: управление несколькими Docker-хостами + delegate_to
Проверка состояния контейнера перед действием
Перезапуск контейнера, если он существует, но остановлен
Подключение к Docker через сокет по SSH
Инспекция удалённого Docker Engine
Работа с Docker Volumes и хранилищем в Ansible
Хранение логов приложения на хосте
Использование volume для передачи настроек приложения
Очистка неиспользуемых Docker-томов через Ansible
Финальный шаг
07Введение в Jinja2 и переменные в шаблонах
Введение в Jinja2 и переменные в шаблонах
Как используется Jinja2 в Ansible: через модуль template
Введение в Jinja2 и переменные в шаблонах Ansible
Пример
На заметку
Мини-задание: создаём свой шаблон приветствия
Таблица сравнения модулей работы с файлами в Ansible
Условия, циклы и фильтры в шаблонах Jinja2
Циклы {% for %}: повторяем действия
Фильтры |: изменение переменных
Фильтр password_hash (специальный для Ansible)
Мини-задание: фильтры Jinja2 в действии
Списки, словари и вложенные структуры в шаблонах Jinja2
Как с ними работать в шаблоне?
Мини-задание
Дополнение: ещё немного про структуры
Модульные шаблоны: include, block, import в Jinja2
Дополнительно
Мини-задание
Напутствие: Как и зачем использовать шаблоны Jinja2 в Ansible
Комплексный шаблон — всё вместе
Комплексный шаблон nginx с несколькими сайтами
Вопросы
08Введение в безопасность Ansible
Введение в безопасность Ansible
Зачем вообще нужна безопасность в Ansible
Типовые ошибки и уязвимости в проектах на Ansible
Базовые практики безопасности в Ansible
Организация переменных и vault в Ansible-проекте
Безопасность Ansible в CI/CD: GitLab, GitHub и не только
Вопросы
Работа с ansible-vault: команды, сценарии, примеры
Команды ansible-vault
Интеграция ansible-vault в playbook
Сценарии из практики
Запуск playbook с ansible-vault
Вопросы
Практическое задание
Безопасная структура переменных и инвентори
Где хранить переменные в структуре проекта
Приоритет переменных
Масштабируем переменные и vault
Vault-переменные и безопасная автоматизация в CI/CD
Вопросы
Практическое задание
Интеграция с внешними хранилищами секретов
lookup: как получать секреты "на лету" из Vault, AWS и других источников
Настройка доступа к HashiCorp Vault
vars_plugins и credential_plugins: как подключать внешние секреты без явного lookup
Vault или ansible-vault? Что выбрать и когда
Гибридные сценарии
Вопросы
Безопасность в автоматизации и CI/CD
Безопасная организация переменных в CI/CD
Ротация секретов
Контроль доступа
Чеклист безопасной автоматизации с Ansible
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Ansible Mastery: Лаборатория автоматизации рассмотрим подробно» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 28 сентября 2026 г.

Teach and Study 
















