От разовой команды к воспроизводимому плейбуку
Превращайте команды в сохранённый файл YAML.
«От разовой команды к воспроизводимому плейбуку» — бесплатный урок Ansible Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Одноразовые команды не сохраняются
Одноразовая команда выполняется один раз и исчезает. Она отлично подходит для быстрых проверок, но не оставляет записи о выполненных действиях.
ansible web -m service -a "name=nginx state=started"Плейбук сохраняет проделанную работу
Плейбук записывает то же намерение в файл YAML. Вы добавляете его в репозиторий, делитесь им и запускаете снова, когда это необходимо.
Одна команда соответствует одному заданию
Каждая одноразовая команда становится отдельным заданием в плейбуке. Модуль и его аргументы переносятся без изменений.
- name: start nginx
service:
name: nginx
state: startedPlay объединяет задания
Задания находятся внутри play. В play указывается, на какие узлы нужно воздействовать, а затем перечисляются задания для их выполнения.
- hosts: web
tasks:
- name: start nginx
service:
name: nginx
state: startedСтрока hosts
Ключ hosts заменяет шаблон узлов, который Вы вводили в командной строке. Он выбирает группу, которой будет управлять play.
- hosts: webАргументы модуля становятся ключами
Аргументы key=value из команды превращаются во вложенные ключи YAML под именем модуля. Данные те же, но структура понятнее.
service:
name: nginx
state: startedПовторяемость означает надёжность
Поскольку файл не меняется, каждый запуск выполняет одно и то же. Именно эта повторяемость делает автоматизацию надёжной.
Автоматизация, которая сама себя описывает
Плейбук также документирует Вашу инфраструктуру. Чтение файла точно показывает следующему человеку, как должен быть настроен сервер.
Легко добавить второе задание
Расширить файл просто: добавьте ещё один дефис под ключом tasks. Одноразовая команда требует новой команды, а плейбук просто продолжает список.
tasks:
- name: start nginx
service:
name: nginx
state: started
- name: open firewall
debug:
msg: doneДобавьте его в систему контроля версий
Сохраняйте плейбук в Git, как любой код. Теперь конфигурация сервера имеет историю, проходит проверку и позволяет отменять изменения.
Назовите файл с расширением .yml
По соглашению имя файла плейбука заканчивается на .yml или .yaml. Имя выбираете Вы, например site.yml или webservers.yml.
Быстрая проверка
Зачем переносить работающую одноразовую команду в плейбук?
От разовой команды к постоянному решению
Вы превратили одноразовую команду в сохранённый плейбук: узел, задание и повторяемая запись о работе сервера. 🚀
Часто задаваемые вопросы
Урок «От разовой команды к воспроизводимому плейбуку» бесплатный?
Да — полный текст урока «От разовой команды к воспроизводимому плейбуку» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «От разовой команды к воспроизводимому плейбуку»?
Превращайте команды в сохранённый файл YAML. Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «От разовой команды к воспроизводимому плейбуку»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Необходимый синтаксис YAML для Ansible
- От разовой команды к воспроизводимому плейбуку
- Запуск с помощью ansible-playbook
- Установка Nginx в пять строк