Spec-Zone.ru › Ansible 2.9

Работа с Playbook

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

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

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

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

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

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

  • Введение в Playbooks
    • О Playbooks
    • Пример языка Playbook
    • Основы
    • Сокращенная запись действий
    • Обработчики: выполнение операций при изменении
    • Выполнение Playbook
    • Ansible-Pull
    • Проверка Playbooks
    • Другие варианты проверки Playbooks
  • Создание повторно используемых Playbooks
    • Включение и импорт
    • Роли
    • Динамический против статического
    • Различия между динамическим и статическим
    • Взвешивание и подводные камни между включениями и импортами
  • Использование переменных
    • Создание допустимых имен переменных
    • Определение переменных в инвентаре
    • Определение переменных в Playbook
    • Определение переменных во включённых файлах и ролях
    • Использование переменных с Jinja2
    • Преобразование переменных с помощью фильтров Jinja2
    • Внимание! Особенности YAML
    • Переменные, полученные от систем: Факты
    • Регистрация переменных
    • Доступ к сложным данным переменных
    • Доступ к информации о других хостах с помощью магических переменных
    • Определение переменных в файлах
    • Передача переменных в командной строке
    • Порядок приоритета переменных: куда поместить переменную?
    • Использование расширенного синтаксиса переменных
  • Шаблонизация (Jinja2)
    • Фильтры
    • Тесты
    • Обращения к данным
    • Версия Python и шаблонный язык
    • Получение текущего времени
  • Условные операторы
    • Оператор When
    • Циклы и условные операторы
    • Загрузка пользовательских фактов
    • Применение «when» к ролям, импортам и включениям
    • Условные импорты
    • Выбор файлов и шаблонов на основе переменных
    • Регистрация переменных
    • Часто используемые факты
  • Циклы
    • Сравнение loop и with_*
    • Стандартные циклы
    • Регистрация переменных с помощью цикла
    • Сложные циклы
    • Обеспечение ввода списка для loop: query против lookup
    • Добавление управления циклами
    • Миграция с with_X на цикл
  • Блоки
    • Обработка ошибок блоков
  • Расширенные возможности Playbooks
    • Понимание повышения привилегий: become
    • Асинхронные действия и опрос
    • Режим проверки («сухой запуск»)
    • Отладчик Playbook
    • Делегирование, поэтапные обновления и локальные действия
    • Настройка окружения (и работа с прокси)
    • Работа с менеджерами версий конкретных языков
    • Обработка ошибок в Playbooks
    • Расширенный синтаксис
    • Работа с плагинами
    • Подсказки
    • Тэги
    • Использование Vault в Playbooks
    • Начало и шаг
    • Ключевые слова Playbook
    • Обращения к данным
    • Значения по умолчанию модулей
  • Управление выполнением Playbook: стратегии и многое другое
    • Выбор стратегии
    • Установка числа вилок
    • Использование ключевых слов для управления выполнением
  • Рекомендованные практики
    • Организация контента
    • Этап разработки против производства
    • Поэтапные обновления
    • Всегда указывайте состояние
    • Группировка по ролям
    • Изменчивость операционной системы и дистрибутива
    • Объединение модулей Ansible с playbook
    • Отступы и комментарии
    • Всегда называйте задачи
    • Держите просто
    • Управление версиями
    • Переменные и хранилища
  • Пример playbook: Непрерывная доставка и поэтапные обновления
    • Что такое непрерывная доставка?
    • Развертывание сайта
    • Многократно используемый контент: роли
    • Конфигурация: переменные групп
    • Поэтапное обновление
    • Управление другими балансировщиками нагрузки
    • Непрерывная доставка от начала до конца

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/user_guide/playbooks.html

Spec-Zone.ru

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