Практика Ansible: настроить сервер и не сломать его повторным запуском

Playbook завершился без ошибок. На одном сервере конфигурация обновилась, на другом служба не перезапустилась, а повторный запуск снова показывает changed. Автоматизация вроде бы появилась, но доверять ей пока трудно. Здесь собраны ситуации, которые помогают превратить набор задач в предсказуемую процедуру настройки сервера.

Как работать с подборкой

Подготовьте две учебные машины или другое изолированное окружение, в котором можно проверить подключение и применение конфигурации. Сначала сделайте один небольшой playbook: файл настройки и сервис, который его читает. Запустите его повторно без изменения входных данных и разберитесь с каждым неожиданным changed.

Ниже — статьи с объяснениями и примерами. Практические эксперименты выполняются в вашем учебном окружении; это не встроенный автоматический экзамен.

1. Попасть на нужный хост с нужными параметрами

До отладки самой задачи проверьте соединение, повышение привилегий и происхождение переменных. Часто ошибка выглядит как неправильный шаблон, хотя playbook получил значение из другой группы.

2. Управлять изменениями и перезапусками

Проверьте, что происходит при первом запуске, при повторном и при изменении шаблона. Конфигурация должна пройти проверку до того, как рабочий сервис начнёт её использовать.

3. Понимать границы проверки

Частичный запуск и check mode полезны, когда вы понимаете, какие шаги они пропускают. Разберите структуру результата цикла и отдельно проверьте, не попадают ли чувствительные данные в вывод.

4. Обновлять несколько машин

На двух серверах уже можно увидеть разницу между последовательным обновлением и запуском на всём парке. Проследите, где реально выполняется делегированная задача и сколько раз запускается действие, объявленное run_once.

Соберите результат в одну рабочую процедуру

Итоговый сценарий: поменять параметр сервиса, проверить конфигурацию, применить её по очереди на двух машинах и выполнить playbook ещё раз. Объясните каждый перезапуск и каждый changed. Затем намеренно сломайте шаблон и убедитесь, что ошибку видно до замены рабочей конфигурации.

Продолжить обучение

Более широкий маршрут автоматизации инфраструктуры собран в программе курса Ansible: автоматизация инфраструктуры. На странице курса — программа, условия доступа и покупки. Сопоставьте их со своей ближайшей рабочей задачей.

Если пока не хватает базы или нужен соседний инструмент, выберите другой маршрут в путеводителе по практике DevOps.

Продолжить на практике

  • Ansible: автоматизация инфраструктуры ↗

    Настраивайте серверы воспроизводимо: inventory, playbooks, роли, шаблоны и секреты. Соберите автоматизацию для нескольких окружений, проверьте повторный запуск и обновляйте сервисы управляемо.