Spec-Zone.ru › Ansible 2.11

Руководство пользователя

Примечание

Повышение инклюзивности в открытом исходном коде

Компания Red Hat стремится заменить проблемную лексику в своем коде, документации и веб-ресурсах. Мы начинаем с этих четырех терминов: master, slave, blacklist и whitelist. Просим сообщать об упущенных терминах, создавая issue или pull request. Более подробная информация доступна в сообщении нашего CTO Криса Райта.

Добро пожаловать в Руководство пользователя Ansible! Это руководство о работе с Ansible, включая использование командной строки, работу с инвентарём, взаимодействие с данными, написание задач, плейбуков и playbooks; выполнение playbooks и справочные материалы. На этой странице описаны наиболее распространённые ситуации и вопросы, которые приводят читателей в этот раздел. Если вы предпочитаете традиционное содержание, вы можете найти его внизу страницы.

Начало работы

  • Мне нужен обзор работы Ansible. Где я могу найти:

    • краткое видео-введение quick video overview
    • текстовое введение text introduction
  • Я готов изучать Ansible. Какие концепции Ansible мне нужно изучить?
  • Я хочу использовать Ansible без написания playbook. Как использовать ad hoc команды?

Написание задач, плейбуков и playbooks

  • Я пишу свой первый playbook. Что мне нужно знать перед началом?
  • У меня есть конкретный случай использования задачи или плейбука:

    • Выполнение задач с повышенными привилегиями или как другой пользователь с помощью become
    • Повторение задачи один раз для каждого элемента в списке с помощью циклов
    • Выполнение задач на другом компьютере с помощью делегирования
    • Выполнение задач только при определенных условиях с помощью условных операторов и оценки условий с помощью тестов
    • Группирование набора задач вместе с помощью блоков
    • Выполнение задач только тогда, когда что-то изменилось, с помощью обработчиков
    • Изменение способа, которым Ansible обрабатывает ошибки
    • Установление удаленных значений среды
  • Я хочу использовать преимущества многоразовых артефактов Ansible. Как создать многоразовые файлы и роли?
  • Мне нужно включить один файл или playbook в другой. В чем разница между включением и импортом?
  • Я хочу запустить выбранные части моего playbook. Как добавить и использовать метки?

Работа с инвентарём

  • У меня есть список серверов и устройств, которые я хочу автоматизировать. Как создать инвентарь для их отслеживания?
  • Я использую облачные сервисы, и серверы и устройства постоянно запускаются и останавливаются. Как отслеживать их с помощью динамического инвентаря?
  • Я хочу автоматизировать определенные подмножества моего инвентаря. Как использовать шаблоны?

Взаимодействие с данными

  • Я хочу использовать один playbook для нескольких систем с различными атрибутами. Как использовать переменные для обработки различий?
  • Я хочу получить данные о моих системах. Как получить доступ к фактам Ansible?
  • Мне нужно получить доступ к конфиденциальным данным, таким как пароли, с помощью Ansible. Как защитить эти данные с помощью Ansible vault?
  • Я хочу изменить имеющиеся данные, чтобы использовать их в задаче. Как использовать фильтры для преобразования данных?
  • Мне нужно получить данные из внешнего хранилища данных. Как использовать lookups для доступа к базам данных и API?
  • Я хочу попросить пользователей playbook предоставить данные. Как получить пользовательский ввод с помощью подсказок?
  • Я часто использую определенные модули. Как оптимизировать свой инвентарь и playbooks, задавая значения по умолчанию для параметров модулей?

Выполнение playbooks

После того, как ваш playbook готов к запуску, вам могут понадобиться эти темы:

  • Выполнение «сухих» playbooks с помощью режима проверки и diff
  • Запуск playbooks при отладке с помощью шагов запуска и выполнения
  • Исправление задач во время выполнения с помощью отладчика Ansible
  • Управление выполнением playbooks с помощью стратегий и др.
  • Выполнение задач, плейбуков и playbooks асинхронно

Расширенные возможности и справка

  • Использование расширенного синтаксиса
  • Обработка сложных данных
  • Использование плагинов
  • Использование ключевых слов playbooks
  • Использование инструментов командной строки
  • Отклонение конкретных модулей
  • Обслуживание модулей

Традиционное содержание

Если вы предпочитаете прочитать всё Руководство пользователя, вот список страниц в порядке:

  • Быстрый старт Ansible
  • Основные концепции Ansible
    • Управляющий узел
    • Управляемые узлы
    • Инвентаризация
    • Коллекции
    • Модули
    • Задачи
    • Плейбуки
  • Начало работы
    • Выбор машин из инвентаризации
    • Подключение к удалённым узлам
    • Копирование и выполнение модулей
    • Ресурсы
    • Следующие шаги
  • Введение в адхоковые команды
    • Зачем использовать адхоковые команды?
    • Сценарии использования адхоковых задач
  • Работа с плейбуками
    • Шаблонизация (Jinja2)
    • Расширенные возможности плейбуков
    • Пример плейбука: непрерывная доставка и поэтапное обновление
  • Введение в плейбуки
    • Синтаксис плейбука
    • Выполнение плейбука
    • Ansible-Pull
    • Проверка плейбуков
  • Рекомендации и советы
    • Общие советы
    • Советы по плейбукам
    • Советы по инвентаризации
    • Советы по выполнению
  • Понимание повышения привилегий: become
    • Использование become
    • Риски и ограничения become
    • Become и автоматизация сетей
    • Become и Windows
  • Циклы
    • Сравнение циклов loop и with_*
    • Стандартные циклы
    • Регистрация переменных с помощью цикла
    • Сложные циклы
    • Обеспечение списка ввода для цикла: использование query вместо lookup
    • Добавление управления в циклы
    • Миграция с with_X на цикл
  • Управление местоположением выполнения задач: делегирование и локальные действия
    • Задачи, которые нельзя делегировать
    • Делегирование задач
    • Делегирование фактов
    • Локальные плейбуки
  • Условные операторы
    • Основные условные операторы с when
    • Часто используемые факты
  • Тесты
    • Синтаксис тестов
    • Тестирование строк
    • Vault
    • Проверка истинности
    • Сравнение версий
    • Тесты теории множеств
    • Проверка, содержит ли список значение
    • Проверка, является ли значение списка истинным
    • Тестирование путей
    • Тестирование форматов размеров
    • Тестирование результатов задач
  • Блоки
    • Группировка задач с помощью блоков
    • Обработка ошибок с помощью блоков
  • Обработчики: выполнение операций при изменении
    • Пример обработчика
    • Управление временем запуска обработчиков
    • Использование переменных с обработчиками
  • Обработка ошибок в плейбуках
    • Игнорирование завершившихся с ошибкой команд
    • Игнорирование ошибок недоступных хостов
    • Сброс недоступных хостов
    • Обработчики и ошибки
    • Определение ошибки
    • Определение «изменённого»
    • Обеспечение успешного выполнения команд и оболочки
    • Прерывание плей в отношении всех хостов
    • Управление ошибками в блоках
  • Установка удалённой среды
    • Установка удалённой среды в задаче
  • Работа с менеджерами версий, специфичными для языка
  • Повторное использование артефактов Ansible
    • Создание многократно используемых файлов и ролей
    • Повторное использование плейбуков
    • Многократное использование файлов и ролей
    • Использование задач в качестве обработчиков
  • Роли
    • Структура каталога ролей
    • Хранение и поиск ролей
    • Использование ролей
    • Валидация аргументов роли
    • Запуск роли несколько раз в одном плейбуке
    • Использование зависимостей ролей
    • Встраивание модулей и плагинов в роли
    • Обмен ролями: Ansible Galaxy
  • Включение и импорт
  • Теги
    • Добавление тегов с ключевым словом tags
    • Специальные теги: always и never
    • Выбор или пропуск тегов при запуске плейбука
  • Как создать свой инвентарь
    • Основы инвентаря: форматы, хосты и группы
    • Добавление переменных в инвентарь
    • Назначение переменной одному компьютеру: переменные хоста
    • Назначение переменной многим компьютерам: переменные группы
    • Организация переменных хоста и группы
    • Как объединяются переменные
    • Использование нескольких источников инвентаря
    • Подключение к хостам: параметры поведенческого инвентаря
    • Примеры настройки инвентаря
  • Работа с динамическим инвентарём
    • Пример скрипта инвентаря: Cobbler
    • Пример скрипта инвентаря: OpenStack
    • Другие скрипты инвентаря
    • Использование каталогов инвентаря и нескольких источников инвентаря
    • Статические группы динамических групп
  • Шаблоны: таргетирование хостов и групп
    • Использование шаблонов
    • Общие шаблоны
    • Ограничения шаблонов
    • Расширенные параметры шаблонов
    • Шаблоны и флаги ansible-playbook
  • Методы и подробности подключения
    • ControlPersist и paramiko
    • Установка удалённого пользователя
    • Настройка ключей SSH
    • Запуск на localhost
    • Управление проверкой ключей хоста
    • Другие методы подключения
  • Работа с инструментами командной строки
    • ansible
    • ansible-config
    • ansible-console
    • ansible-doc
    • ansible-galaxy
    • ansible-inventory
    • ansible-playbook
    • ansible-pull
    • ansible-vault
  • Использование переменных
    • Создание допустимых имён переменных
    • Простые переменные
    • Когда нужно указывать переменные в кавычках (особенность YAML)
    • Переменные-списки
    • Переменные-словари
    • Регистрация переменных
    • Ссылка на вложенные переменные
    • Преобразование переменных с помощью фильтров Jinja2
    • Где задавать переменные
    • Приоритет переменных: где мне следует разместить переменную?
    • Использование расширенного синтаксиса переменных
  • Открытие переменных: факты и магические переменные
    • Факты Ansible
    • Информация об Ansible: магические переменные
  • Шифрование содержимого с помощью Ansible Vault
    • Управление паролями vault
    • Шифрование содержимого с помощью Ansible Vault
    • Использование зашифрованных переменных и файлов
    • Настройка значений по умолчанию для использования зашифрованного содержимого
    • Когда зашифрованные файлы становятся видимыми?
    • Ускорение Ansible Vault
    • Формат файлов, зашифрованных с помощью Ansible Vault
  • Использование фильтров для обработки данных
    • Обработка неопределенных переменных
    • Определение различных значений для true/false/null (тернарное)
    • Управление типами данных
    • Форматирование данных: YAML и JSON
    • Комбинирование и выбор данных
    • Генерация случайных данных
    • Управление списковыми переменными
    • Выбор из наборов или списков (теория множеств)
    • Вычисление чисел (математика)
    • Управление сетевыми взаимодействиями
    • Шифрование и вычисление контрольных сумм строк и паролей
    • Работа с текстом
    • Работа со строками
    • Работа с UUID
    • Обработка дат и времени
    • Получение имён ресурсов Kubernetes
  • Обращения к справочным таблицам (lookups)
    • Использование обращений к справочным таблицам в переменных
  • Взаимодействие с пользователем: подсказки (prompts)
    • Шифрование значений, полученных из vars_prompt
    • Разрешение специальных символов в значениях vars_prompt
  • Значения по умолчанию для модулей
    • Группы значений по умолчанию для модулей
  • Проверка задач: режим check и режим diff
    • Использование режима check
    • Использование режима diff
  • Выполнение playbooks для устранения неполадок
    • start-at-task
    • Режим step
  • Отладка задач
    • Включение отладчика
    • Решение ошибок в отладчике
    • Доступные команды отладчика
    • Как отладчик взаимодействует со стратегией free
  • Управление выполнением playbooks: стратегии и многое другое
    • Выбор стратегии
    • Установка количества вилок
    • Использование ключевых слов для управления выполнением
  • Асинхронные действия и опрос
    • Асинхронные ad-hoc задачи
    • Асинхронные задачи playbook
  • Расширенный синтаксис
    • Небезопасные или сырые строки
    • YAML якоря и псевдонимы: совместное использование значений переменных
  • Обработка сложных данных
    • Циклы и списковые включения
    • Преобразования сложных типов
  • Отклонение модулей
  • Образец настройки Ansible
    • Образец структуры каталогов
    • Альтернативная структура каталогов
    • Образец переменных групп и хостов
    • Образец playbooks, организованные по функциям
    • Образец файлов задач и обработчиков в роли, основанной на функциях
    • Что позволяет образец настройки
    • Организация для развертывания или настройки
    • Использование локальных модулей Ansible
  • Работа с модулями
    • Введение в модули
    • Техническое обслуживание и поддержка модулей
    • Возвращаемые значения
  • Работа с плагинами
    • Плагины действий
    • Плагины become
    • Плагины кеширования
    • Плагины обратной связи
    • Плагины cliconf
    • Плагины подключения
    • Плагины httpapi
    • Плагины инвентаризации
    • Плагины обращений к справочным таблицам
    • Плагины netconf
    • Плагины оболочки
    • Плагины стратегий
    • Плагины переменных
    • Использование фильтров для обработки данных
    • Тесты
    • Отклонение модулей
  • Ключевые слова playbooks
    • Play
    • Роль
    • Блок
    • Задача
  • Ansible и BSD
    • Подключение к узлам BSD
    • Настройка начальной загрузки BSD
    • Установка интерпретатора Python
    • Какие модули доступны?
    • Использование BSD в качестве контрольного узла
    • Факты BSD
    • Усилия и вклад BSD
  • Руководства по Windows
    • Настройка узла Windows
    • Удаленное управление Windows
    • Использование Ansible и Windows
    • Конфигурация желаемого состояния
    • Производительность Windows
    • Часто задаваемые вопросы по Windows
  • Использование коллекций
    • Установка коллекций
    • Загрузка коллекций
    • Перечисление коллекций
    • Проверка коллекций
    • Использование коллекций в плейбуке
    • Упрощение имён модулей с помощью ключевого слова collections
    • Использование плейбука из коллекции

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

Spec-Zone.ru

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