Работа с playbook
Playbook записывают и выполняют конфигурацию, развертывание и оркестрацию функций Ansible. Они могут описывать политику, которую вы хотите применить к удалённым системам, или набор шагов в общем ИТ-процессе.
Если модули Ansible — инструменты в вашей мастерской, то playbook — ваши руководства по эксплуатации, а ваш инвентарь хостов — ваш исходный материал.
На базовом уровне playbook могут использоваться для управления конфигурациями и развертываниями на удалённых машинах. На более продвинутом уровне они могут последовательно выполнять многоуровневые развертывания, включая постепенные обновления, и могут делегировать действия другим хостам, взаимодействуя с серверами мониторинга и балансировщиками по пути.
Playbook предназначены для чтения человеком и разрабатываются на простом текстовом языке. Существует множество способов организации playbooks и файлов, которые они содержат, и мы предложим вам несколько советов по этому поводу и по максимальному использованию Ansible.
- Шаблонизация (Jinja2)
-
Использование фильтров для обработки данных
- Обработка неопределённых переменных
- Определение различных значений для true/false/null (тернарное)
- Управление типами данных
- Форматирование данных: YAML и JSON
- Комбинирование и выбор данных
- Генерация случайных данных
- Управление списковыми переменными
- Выбор из множеств или списков (теория множеств)
- Вычисление чисел (математика)
- Управление сетевыми взаимодействиями
- Хэширование и шифрование строк и паролей
- Обработка текста
- Обработка строк
- Работа с UUID
- Работа с датами и временем
- Получение имён ресурсов Kubernetes
- Тесты
- Обращения к данным
- Python3 в шаблонах
- Функция now: получение текущего времени
- Функция undef: добавление подсказки для неопределённых переменных
- Циклы
- Управление местом выполнения задач: делегирование и локальные действия
- Условные операторы
- Блоки
- Обработчики: выполнение операций при изменении
- Обработка ошибок в плейбуках
- Установка удалённой среды
- Работа с менеджерами версий языков программирования
- Использование артефактов Ansible
- Роли
- Значения по умолчанию модулей
- Ввод с помощью диалоговых окон: подсказки
-
Использование переменных
- Создание допустимых имён переменных
- Простые переменные
- Когда нужно указывать переменные в кавычках (особенность YAML)
- Булевы переменные
- Список переменных
- Словари переменных
- Комбинирование переменных
- Регистрация переменных
- Ссылка на вложенные переменные
- Преобразование переменных с помощью Jinja2 фильтров
- Где задавать переменные
- Преимущество переменных: где следует разместить переменную?
- Использование расширенного синтаксиса переменных
- Обнаружение переменных: факты и магические переменные
- Пример плейбука: Непрерывная доставка и поэтапные обновления
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks.html