Работа с Playbook
Playbook — это язык конфигурации, развертывания и оркестрации Ansible. Он может описывать политику, которую вы хотите применить к удалённым системам, или набор шагов в общем процессе ИТ.
Если Ansible-модули — это инструменты в вашем инструментальном ящике, то Playbook — это ваши инструкции, а ваш инвентаризованный список хостов — это исходный материал.
На базовом уровне Playbook можно использовать для управления конфигурациями и развертываний на удалённых машинах. На более продвинутом уровне они могут последовательно развертывать многоуровневые решения, включающие поэтапные обновления, и могут делегировать действия другим хостам, взаимодействуя по пути с серверами мониторинга и балансировщиками нагрузки.
Хотя здесь много информации, нет необходимости всё изучать сразу. Вы можете начать с малого и по мере необходимости подбирать больше функций.
Playbook разработаны для удобства чтения и написаны на простом текстовом языке. Существует множество способов организации Playbook и файлов, которые они включают, и мы предложим вам несколько советов по этому поводу, а также по эффективному использованию Ansible.
При чтении документации по Playbook обязательно обратите внимание на Примеры Playbook. Они демонстрируют лучшие практики, а также то, как объединить различные концепции.
- Введение в Playbook
- Создание многократно используемых Playbook
-
Переменные
- Что делает имя переменной допустимым
- Переменные, определённые в инвентаре
- Переменные, определённые в Playbook
- Переменные, определённые из включённых файлов и ролей
- Использование переменных: о Jinja2
- Фильтры Jinja2
- Подождите, а вот YAML
- Информация, полученная от систем: факты
- Отключение фактов
- Локальные факты (Facts.d)
- Версия Ansible
- Кэширование фактов
- Зарегистрированные переменные
- Доступ к сложным данным переменных
- Магические переменные и как получить информацию об других хостах
- Разделение файлов переменных
- Передача переменных в командной строке
- Преимущество переменных: куда их поместить?
- Области переменных
- Примеры переменных
- Расширенный синтаксис
- Шаблоны (Jinja2)
- Условные операторы
- Циклы
- Блоки
-
Дополнительные возможности Playbook
- Понимание повышения привилегий
- Асинхронные действия и опрос
- Режим проверки («сухой запуск»)
- Отладчик Playbook
- Делегирование, поэтапные обновления и локальные действия
- Установка среды (и работа с прокси)
- Работа с менеджерами версий для языков программирования
- Обработка ошибок в Playbook
- Расширенный синтаксис
- Работа с плагинами
- Подсказки
- Теги
- Использование Vault в Playbook
- Начало и шаг
- Ключевые слова 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.5/user_guide/playbooks.html