Spec-Zone.ru › Ansible 2.5

Работа с Playbook

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

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

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

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

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

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

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

Spec-Zone.ru

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