Spec-Zone.ru › Ansible 2.7

Работа с Playbook

Playbook — это язык конфигурации, развертывания и оркестрации Ansible. Они могут описывать политику, которую вы хотите, чтобы ваши удалённые системы применяли, или набор шагов в общем IT-процессе.

Если Ansible модули — это инструменты в вашей мастерской, то playbook — это ваши руководства по эксплуатации, а ваш инвентарь хостов — это ваш сырьё.

На базовом уровне playbooks могут использоваться для управления конфигурациями и развертываниями на удалённых машинах. На более продвинутом уровне они могут упорядочивать многоуровневые развертывания, включая постепенные обновления, и могут делегировать действия другим хостам, взаимодействуя с серверами мониторинга и балансировщиками нагрузки по ходу дела.

Хотя здесь много информации, нет необходимости изучать всё сразу. Вы можете начать с малого и постепенно добавлять больше функций по мере необходимости.

Playbook предназначены для удобного чтения и разрабатываются на простом текстовом языке. Существует множество способов организации playbooks и файлов, которые они содержат, и мы предложим несколько рекомендаций по этому вопросу и по эффективному использованию Ansible.

При чтении документации по playbook вы должны обратиться к Примеры Playbooks. Они иллюстрируют лучшие практики, а также то, как объединить многие различные концепции.

  • Введение в Playbooks
    • О Playbooks
    • Пример языка Playbook
    • Основы
    • Сокращения действий
    • Обработчики: выполнение операций при изменении
    • Выполнение Playbook
    • Ansible-Pull
    • Советы и хитрости
  • Создание повторно используемых Playbooks
    • Включение и импорт
    • Роли
    • Динамические против статических
    • Различия между статическими и динамическими
    • Компромиссы и ловушки между включениями и импортами
  • Использование переменных
    • Создание допустимых имен переменных
    • Определение переменных в инвентаризации
    • Определение переменных в playbook
    • Определение переменных во включенных файлах и ролях
    • Использование переменных с Jinja2
    • Преобразование переменных с помощью фильтров Jinja2
    • Подождите, а вот и YAML-ловушка!
    • Переменные, обнаруженные из фактов системы
    • Регистрация переменных
    • Доступ к сложным данным переменных
    • Получение информации об других узлах с помощью магических переменных
    • Определение переменных в файлах
    • Передача переменных в командной строке
    • Приоритет переменных: куда поместить переменную?
    • Использование расширенного синтаксиса переменных
  • Шаблоны (Jinja2)
    • Фильтры
    • Тесты
    • Поиски
    • Версия Python и шаблоны
  • Условные выражения
    • Выражение When
    • Циклы и условные выражения
    • Загрузка пользовательских фактов
    • Применение ‘when’ к ролям, импортам и включениям
    • Условные импорты
    • Выбор файлов и шаблонов на основе переменных
    • Регистрировать переменные
    • Часто используемые факты
  • Циклы
    • Стандартные циклы
    • Сложные циклы
    • Использование lookup vs query в цикле
    • Циклы do-until
    • Использование register с циклом
    • Итерация по инвентаризации
    • Управление циклом
    • Миграция с with_X на цикл
  • Блоки
    • Обработка ошибок
  • Дополнительные возможности 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API