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