Spec-Zone.ru › Ansible 2.4

Playbooks

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

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

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

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

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

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

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

Spec-Zone.ru

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