Linux Labs

Автоматизация: Git и Ansible / Ступень 5 из 6

Плейбук: задачи, обработчики, шаблоны

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 1 из 6 · на машине · 5 мин

Повторный прогон снова всё меняет

Чему научишься

  • Читать плейбук и отчёт PLAY RECAP и заменять задачи на shell модулями file, copy, service, чтобы прогон давал changed=0.
  • Перезапускать службу обработчиком (notify и handlers) только в том прогоне, где поменялся её конфиг.
  • Собирать файл из шаблона с переменной и смотреть, что изменит прогон, через --check --diff.

Сайт магазина на app1 разворачивает плейбук коллеги — файл ~/ansible-lab/site.yml с шагами для Ansible. Его уже применили, сайт на порту 8080 работает. Но после каждого прогона у посетителей рвутся соединения. Прогони плейбук ещё раз и посмотри, что он сделал.

Упражнение · посмотреть

Прогони плейбук ещё раз

В ~/ansible-lab посмотри плейбук site.yml, прогони его ещё раз и посмотри, когда запущен nginx.

Сначала предположи

Плейбук уже применён, сайт работает. Сколько задач прогон отметит как changed?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Плейбук уже применён, а повторный прогон снова отметил все три задачи changed. Почему?

  • Модуль, которому нечего менять, отвечает ok: второй ansible web -m copy … в прошлом уроке ответил SUCCESS с "changed": false.

  • Файлы те же: прогон пишет их заново тем же содержимым. cat /srv/shop/index.html до и после прогона покажет одно и то же.

  • Перезапуск файлов не трогает, и это лишь третья задача; changed стоит и у двух задач с файлами.

Все три задачи — shell, а shell отвечает changed при каждом запуске.

Ubuntu 24.04
Загрузка…