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