Мы используем cookie для стабильной работы сервиса. Подробнее

Ansible Mastery: Лаборатория автоматизации рассмотрим подробно

ФорматОнлайн
Длительность80 академических часов
Объём8 занятий
Всё для обучения

Как устроено обучение

Видеоуроки
О курсе

Подробнее

Цели курса: вы научитесь автоматизировать рутинные и сложные задачи управления серверами и сетями с помощью Ansible, освоите подход «инфраструктура как код» и получите навыки быстрой и надёжной настройки окружений.Почему выбрать этот курс:Ansible работает без агентов – достаточно установить его только на управляющей ноде.Всё обучение построено на практике: вы сразу попробуете реальные сценарии из промышленной эксплуатации.Материал актуален для последней стабильной версии Ansible и регулярно обновляется.Что вы приобретёте после успешного освоения:Умение писать ясные и поддерживаемые плейбуки на YAML.Навыки организации инвентарей: статические файлы и подключение динамических источников.Опыт структурирования сценариев с помощью ролей и повторного использования модулей.Знание основных встроенных модулей для установки ПО, управления сервисами и сетевой настройки.Способность описывать всю инфраструктуру как код и интегрировать Ansible в процессы CI/CD.Особенности курса:Чёткая поэтапная структура от базовых концепций до продвинутых кейсов.Готовые шаблоны playbook’ов и ролей, примеры реального вывода команд в терминале.Разбор ошибок и лучшие практики безопасного управления.Что предстоит делать:Писать и тестировать playbook’и на локальной и удалённой инфраструктуре.Настраивать и расширять инвентори, создавать собственные динамические скрипты.Выполнять лабораторные задания и мини-проекты для закрепления навыков. Для кого этот курсСистемные администраторы, уставшие от рутинных ручных настроек и стремящиеся автоматизировать повседневные операции. DevOps-инженеры, которым нужно встроить Ansible в CI/CD-пайплайны и ускорить выпуск новых версий. Разработчики, регулярно разворачивающие тестовые или staging-окружения и желающие сделать это надёжно и предсказуемо. SRE-специалисты, отвечающие за отказоустойчивость и масштабирование инфраструктуры, нуждающиеся в едином «инфраструктурном» языке. Сетевые инженеры и облачные архитекторы, которые хотят централизованно управлять конфигурациями коммутаторов, маршрутизаторов и облачных сервисов. Типичные ситуации: массовое добавление новых серверов, миграция в облако, задача «всё сбросить и настроить заново» после сбоя, необходимость быстрого создания однотипных окружений для разных команд. Начальные требованияДля комфортного прохождения курса вам потребуется:Уверенное владение командной строкой Linux (навигация по файловой системе, управление правами и пакетами)Знание SSH и умение подключаться к удалённым серверамНавыки работы с Git для контроля версий плейбуков и ролейУмение читать и писать в формате YAMLБазовые представления о сетевых протоколах (IP, DNS) и виртуализацииЖелательно: начальные навыки Python или других языков сценариев.
Содержание

Программа курса

8 занятий
№ТемаЧто внутри
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

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

Организатор

Автор курса

Teach and StudyTeach and Study
Teach&Study — инновационная платформа онлайн-образования. Teach&Study — предоставляет возможности изучать и формировать курсы дистанционного обучения любой степени конструктивной сложности. Цель платформы – формирование современной и комфортной образовательной среды для учащихся и преподавателей. Площадка Teach&Study адаптирована под работу на любом современном устройстве от компьютера, до смартфона.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Ansible Mastery: Лаборатория автоматизации рассмотрим подробно» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 28 сентября 2026 г.