ansible-playbook

ansible-playbook#

Утилита ansible-playbook используется для выполнения наборов сценариев Ansible.

В минимальном формате запуск утилиты ansible-playbook выглядит следующим образом

ansible-playbook [ARGUMENTS] PLAYBOOK

где:

  • ARGUMENTS – аргументы ansible-playbook.

  • PLAYBOOK – путь к файлу набора сценариев.

Аргументы утилиты:

--become-method <BECOME_METHOD>#

Метод повышения привилегий. Например, --become-method sudo.

Примечание

Список возможных методов повышения привилегий зависит от установленных расширений. Для получения списка доступных методов используйте команду:

ansible-doc -t become -l
--become-password-file <BECOME_PASSWORD_FILE>, --become-pass-file <BECOME_PASSWORD_FILE>#

Путь к файлу с паролем для повышения привилегий.

--become-user <BECOME_USER>#

Название учетной записи, привилегии которой будут использованы для выполнения команды.

Значение по умолчанию: root.

--connection-password-file <CONNECTION_PASSWORD_FILE>, --conn-pass-file <CONNECTION_PASSWORD_FILE>#

Путь к файлу с паролем для установления соединения.

--flush-cache#

Очистка кеша фактов для всех узлов в инвентаре.

--force-handlers#

Запуск обработчиков (handlers) даже в случае ошибки задачи.

--list-hosts#

Вывод списка узлов, для которых будет выполнена команда. Целевое действие команды при этом не выполняется.

--list-tags#

Вывод списка доступных тегов в сценарии.

--list-tasks#

Вывод списка всех задач, которые будут выполнены.

--private-key <PRIVATE_KEY_FILE>, --key-file <PRIVATE_KEY_FILE>#

Путь к файлу приватного ключа SSH.

--scp-extra-args <SCP_EXTRA_ARGS>#

Дополнительные аргументы для утилиты scp.

--sftp-extra-args <SFTP_EXTRA_ARGS>#

Дополнительные аргументы для утилиты sftp.

--ssh-extra-args <SSH_EXTRA_ARGS>#

Дополнительные аргументы для утилиты ssh.

--ssh-common-args <SSH_COMMON_ARGS>#

Дополнительные аргументы для утилит ssh, scp и sftp.

--skip-tags#

Пропуск выполнения задач и сценариев с указанными тегами.

Может быть указан несколько раз.

--start-at-task <START_AT_TASK>#

Указание начать выполнение сценария с указанной задачи.

--step#

Запрос подтверждения для запуска каждой задачи.

--syntax-check#

Проверка синтаксиса сценария без его выполнения.

--vault-id#

Идентификатор Ansible Vault.

Может быть указан несколько раз.

--vault-password-file, --vault-pass-file#

Путь к файлу с ключом для расшифровки секретов, хранящихся в Ansible Vault.

--version#

Вывод версии Ansible, пути к файлу настроек и пути поиска модулей.

-C, --check#

Запуск сценария в режиме проверки (без фактического выполнения).

-D, --diff#

Отображение разницы при изменении файлов или шаблонов.

-J, --ask-vault-password, --ask-vault-pass#

Включение запроса пароля хранилища.

-K, --ask-become-pass#

Включение запроса пароля для повышения привилегий.

-M, --module-path#

Путь к каталогу с модулями Ansible.

Может быть указан несколько раз.

Значение по умолчанию: ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules.

-T <TIMEOUT>, --timeout <TIMEOUT>#

Таймаут ожидания подключения (в секундах).

-b, --become#

Требование использовать повышенные привилегии при выполнении модуля.

-c <CONNECTION>, --connection <CONNECTION>#

Тип соединения.

Значение по умолчанию: ssh.

-e, --extra-vars#

Передача дополнительных переменных в формате key=value, YAML или JSON.

Может быть указан несколько раз.

-f <FORKS>, --forks <FORKS>#

Количество параллельных процессов, используемых для выполнения набора сценариев.

Значение по умолчанию: 5.

-h, --help#

Вывод справки.

-i, --inventory#

Путь к файлу инвентаря или список узлов через запятую. Поддерживает динамический инвентарь.

Может быть указан несколько раз.

-k, --ask-pass#

Запрос пароля для подключения, если не используется аутентификация по ключу.

-l <SUBSET>, --limit <SUBSET>#

Ограничение списка узлов, на которых выполняется команда.

-t, --tags#

Выполнение задач только с указанными тегами.

Может быть указан несколько раз.

-u <REMOTE_USER>, --user <REMOTE_USER>#

Название учетной записи для подключения к управляемому узлу.

Значение по умолчанию: None.

-v, --verbose#

Включение подробного вывода, показывающего больше информации о выполнении команды.

Увеличение уровня детализации возможно при добавлении нескольких -v. Утилита может выводить до -vvvvvv. Рекомендуемый уровень для общей отладки – -vvv, для отладки соединений – -vvvv.

Примеры использования:

Запуск набора сценариев#
 ansible-playbook site.yml
Запрос пароля для повышения привилегий#
 ansible-playbook site.yml --ask-become-pass
Ограничение выполнения набора сценариев только одним узлом#
 ansible-playbook site.yml --limit "webserver"
Выполнение задач только с определенным тегом#
 ansible-playbook site.yml --tags "update"
Тестовый запуск без внесения изменений#
 ansible-playbook site.yml --check
Запуск набора сценариев с дополнительными переменными#
 ansible-playbook site.yml -e "package=nginx"