ansible-console

ansible-console#

Утилита ansible-console предоставляет собой оболочку командной строки для управления узлами в интерактивном режиме с помощью Ansible.

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

ansible-console [ARGUMENTS]

где ARGUMENTS – общие аргументы ansible-console.

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

--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>#

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

--list-hosts#

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

--playbook-dir <BASEDIR>#

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

--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.

--step#

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

--task-timeout <TASK_TIMEOUT>#

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

--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>#

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

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

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

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

-v, --verbose#

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

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

После запуска утилиты откроется консоль, где можете использовать следующие команды:

cd#

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

Можно использовать шаблоны узлов. Например, чтобы выбрать все узлы, начинающиеся с app в определенных группах, исключая app01, необходимо указать app*.dc*:!app01*.

list#

Вывод списка всех доступных узлов в текущем контексте.

list groups#

Вывод списка групп, включенных в текущий путь.

become#

Переключение флага become, который отвечает за выполнение команд с повышенными привилегиями.

!#

Принудительное использование модуля shell вместо стандартного модуля Ansible.

Например, !yum update -y выполнит команду с помощью модуля shell, а не с помощью модуля yum.

verbosity#

Уровень подробности вывода.

forks#

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

become_user#

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

remote_user#

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

become_method#

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

check#

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

diff#

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

timeout#

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

timeout 0 отключает таймаут.

help#

Вывод справочной информации по команде или модулю.

exit#

Завершение работы ansible-console и выход из оболочки.

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

Запуск консоли с конкретным инвентарем#
ansible-console -i inventory.yaml
Запуск с повышенными привилегиями#
ansible-console --become
Выполнение команд только на веб-серверах#
ansible-console --limit webservers
Использование переменных#
ansible-console -e "env=prod"
Запуск в режиме проверки#
ansible-console --check