Утилита ansible-playbook#
Описание#
ansible-playbook - инструмент для запуска playbooks Ansible Core и выполнения определенных задач на целевых хостах. Представляет собой систему настройки и развертывания для работы с несколькими nodes одновременно.
Синтаксис утилиты:
ansible-playbook <options> <playbook> ...
Где:
<options>- опции с соответствующими аргументами;<playbook>- файл(ы) playbook.
Настройка утилиты производится с помощью файлов, описанных в разделах:
«Файл inventory /etc/ansible/hosts» - файл inventory по умолчанию;
«Конфигурационные файлы ansible.cfg» - конфигурационный файл
/etc/ansible/ansible.cfg, используемый при наличии, и файл конфигурации пользователя~/.ansible.cfg, переопределяющий конфигурацию по умолчанию, если она присутствует.
Опции#
Опции утилиты представлены в таблице ниже.
Опция |
Описание |
|---|---|
|
Указать метод повышения привилегий для использования (по умолчанию |
|
Указать файл пароля для повышения привилегий |
|
Выполнить операции от имени указанного пользователя (по умолчанию |
|
Указать файл пароля для подключения |
|
Очистить кеш фактов для каждого хоста в inventory |
|
Выполнить обработчики, даже если задача завершилась с ошибкой |
|
Вывести список соответствующих хостов |
|
Вывести список всех доступных тегов |
|
Вывести список всех задач, которые будут выполнены |
|
Использовать указанный файл для аутентификации соединения |
|
Указать дополнительные аргументы для передачи только в |
|
Указать дополнительные аргументы для передачи только в |
|
Выполнить только те сценарии и задачи playbooks, теги которых не соответствуют указанным значениям. Этот аргумент может быть указан несколько раз |
|
Указать общие аргументы для передачи в |
|
Указать дополнительные аргументы для передачи только в |
|
Начать выполнение playbook с задачи, соответствующей заданному имени |
|
Выполнить по одному шагу: подтверждать каждую задачу перед выполнением |
|
Выполнить проверку синтаксиса playbook, но не выполнять его |
|
Указать идентификатор хранилища для использования. Этот аргумент может быть указан несколько раз |
|
Указать файл пароля хранилища |
|
Показать номер версии утилиты, расположение конфигурационного файла, настроенный путь поиска модулей, расположение модуля, расположение исполняемого файла и выходить |
|
Не вносить никаких изменений; вместо этого предсказать и показать их результат в «режиме проверки» (check mode) |
|
При изменении (маленьких) файлов и шаблонов показать различия в этих файлах; отлично работает с |
|
Запросить пароль хранилища |
|
Запросить пароль для повышения привилегий |
|
Добавить путь(-и), разделенные двоеточием, к библиотеке модулей (по умолчанию |
|
Переопределить тайм-аут соединения в секундах (по умолчанию зависит от соединения) |
|
Выполнить операции с повышением привилегий (не подразумевает запроса пароля) |
|
Указать тип соединения (по умолчанию |
|
Установить дополнительные переменные в формате «ключ=значение» или YAML/JSON; если имя файла, добавлять |
|
Указать количество параллельных процессов для использования (по умолчанию |
|
Показать сообщение справки и выйти |
|
Указать путь к хосту inventory или список хостов, разделенных запятыми. Этот аргумент может быть указан несколько раз |
|
Запросить пароль для соединения |
|
Дополнительно ограничить выбранные хосты до дополнительного шаблона |
|
Выполнить только сценарии и задачи playbooks, помеченные указанными значениями. Этот аргумент может быть указан несколько раз |
|
Подключиться как заданный пользователь (по умолчанию не задан) |
|
Вывести дополнительные отладочные сообщения. Добавление нескольких |
Переменные окружения#
Переменные окружения, влияющие на работу утилиты, представлены в таблице ниже.
Переменная |
Описание |
|---|---|
|
Переопределить файл inventory по умолчанию |
|
Переопределить путь к библиотеке модуля по умолчанию |
|
Переопределить конфигурационный файл по умолчанию |
Другие варианты доступны в качестве параметров ansible.cfg (подробнее - в разделе «Конфигурационные файлы ansible.cfg»).
Пример использования#
Загрузите файл my_playbook.yml из текущего рабочего каталога:
ansible-playbook -i /path/to/my_inventory_file -u my_connection_user -k -f 3 -T 30 -t my_tag -M /path/to/my_modules -b -K my_playbook.yml
Данная команда:
-i- использует файлmy_inventory_fileв пути, указанном для inventory, чтобы он соответствовал шаблону;-u- подключается по SSH от имениmy_connection_user;-k- запрашивает пароль, который затем вводится для аутентификации по SSH;-f- выделяет 3 ответвления;-T- устанавливает тайм-аут в 30 секунд;-t- запускает только задачи, помеченные тегомmy_tag;-M- загружает локальные модули из/path/в/my/modules;-b- запускается с повышенными привилегиями (используетbecome);-K- запрашивает у пользователя парольbecome.
Дополнительная информация#
Дополнительную информацию можно получить, выполнив команду:
ansible-playbook --help