Работа с Playbook
Playbook — это язык конфигурации, развертывания и оркестрации Ansible. Он может описывать политику, которую вы хотите применить к удалённым системам, или набор шагов в общем процессе ИТ.
Если модули Ansible — инструменты в вашем арсенале, то Playbook — это руководства по эксплуатации, а ваш инвентарь хостов — исходный материал.
На базовом уровне Playbook можно использовать для управления конфигурацией и развертыванием на удалённых машинах. На более продвинутом уровне они могут последовательно выполнять многоуровневые развертывания, включая поэтапные обновления, и могут делегировать действия другим хостам, взаимодействуя при этом с серверами мониторинга и балансировщиками нагрузки.
Хотя здесь много информации, нет необходимости изучать всё сразу. Вы можете начать с малого и по мере необходимости добавлять новые функции со временем.
Playbook разработаны для удобства чтения и создаются на основе простого текстового языка. Существует несколько способов организации Playbook и файлов, которые они включают, и мы предложим некоторые рекомендации по этому поводу и эффективному использованию Ansible.
Рекомендуется ознакомиться с примерами Playbook во время чтения документации. Они иллюстрируют лучшие практики, а также то, как объединить многие различные концепции.
- Вступление к Playbook
- Создание многоразовых Playbook
-
Использование переменных
- Создание допустимых имён переменных
- Определение переменных в инвентаре
- Определение переменных в Playbook
- Определение переменных во включённых файлах и ролях
- Использование переменных с Jinja2
- Преобразование переменных с помощью фильтров Jinja2
- Эй, подождите, есть проблема с YAML
- Переменные, обнаруженные из фактов систем
- Регистрация переменных
- Доступ к сложным данным переменных
- Получение информации о других хостах с помощью магических переменных
- Определение переменных в файлах
- Передача переменных через командную строку
- Приоритет переменных: куда поместить переменную?
- Использование расширенного синтаксиса переменных
- Шаблонизация (Jinja2)
- Условные операторы
- Циклы
- Блоки
-
Дополнительные возможности Playbook
- Понимание повышения привилегий
- Асинхронные действия и опрос
- Режим проверки («сухой запуск»)
- Отладчик Playbook
- Делегирование, поэтапные обновления и локальные действия
- Установка среды (и работа с прокси)
- Работа с менеджерами версий, специфичных для языка
- Обработка ошибок в Playbook
- Расширенный синтаксис
- Работа с плагинами
- Подсказки
- Теги
- Использование Vault в Playbook
- Начало и шаг
- Ключевые слова Playbook
- Поисковые запросы
- Значения по умолчанию модулей
- Стратегии
-
Рекомендации по наилучшей практике
- Организация контента
- Этап разработки против производства
- Поэтапные обновления
- Всегда упоминайте состояние
- Группировка по ролям
- Отличия операционных систем и дистрибутивов
- Связывание модулей Ansible с playbook
- Отступы и комментарии
- Всегда называйте задачи
- Делайте всё просто
- Управление версиями
- Переменные и хранилища
- Пример Playbook: Непрерывная доставка и поэтапные обновления
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/user_guide/playbooks.html