ansible#
Утилита ansible предназначена для выполнения одиночных задач на управляемых узлах без использования сценария.
ansible [ARGUMENTS] HOST_PATTERN [-m MODULE_NAME] [MODULE_ARGS]
где:
ARGUMENTS– аргументы, передаваемые вansible.HOST_PATTERN– шаблон, который указывает, на каких узлах или группах узлов будет выполнена команда.MODULE_NAME– название модуля, который будет выполнен.MODULE_ARGS– аргументы, передаваемые в модуль.
Аргументы утилиты:
- --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.
- --task-timeout <TASK_TIMEOUT>#
Ограничение по времени выполнения задачи (в секундах).
- --vault-id#
Идентификатор Ansible Vault.
Может быть указан несколько раз.
- --vault-password-file, --vault-pass-file#
Путь к файлу с ключом для расшифровки секретов, хранящихся в Ansible Vault.
- --version#
Вывод версии Ansible, пути к файлу настроек и пути поиска модулей.
- -B <SECONDS>, --background <SECONDS>#
Запуск задачи на управляемом узле в фоновом режиме.
Ansible не ждет выполнения текущей задачи и запускает выполнение следующей. Указанное значение
<SECONDS>определяет максимальное время (в секундах), в течение которого задача должна быть завершена. В противном случае выполнение задачи прерывается с ошибкой.Значение по умолчанию: не установлено.
- -C, --check#
Запуск команды в режиме проверки (без фактического выполнения).
- -D, --diff#
Отображение разницы при изменении файлов или шаблонов.
- -J, --ask-vault-password, --ask-vault-pass#
Включение запроса пароля хранилища.
- -K, --ask-become-pass#
Включение запроса пароля для повышения привилегий.
- -M <MODULE_PATH>, --module-path <MODULE_PATH>#
Путь к каталогу с модулями Ansible.
Может быть указан несколько раз.
Значение по умолчанию:
~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules.
- -P <POLL_INTERVAL>, --poll <POLL_INTERVAL>#
Интервал опроса (в секундах) при асинхронном выполнении задач (аргумент
-B).Значение по умолчанию:
15секунд.
- -T <TIMEOUT>, --timeout <TIMEOUT>#
Таймаут ожидания подключения (в секундах).
- -a "<MODULE_ARGS>", --args "<MODULE_ARGS>"#
Аргументы для модуля в формате
key=value.
- -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>#
Ограничение списка узлов, на которых выполняется команда.
- -m <MODULE_NAME>, --module-name <MODULE_NAME>#
Название модуля, который будет использован для выполнения задачи.
Примечание
Рекомендуется использовать полное название модуля (FQCN), например
ansible.builtin.aptвместо короткогоapt.Значение по умолчанию:
command.
- -o, --one-line#
Вывод результата в одну строку.
- -t <TREE>, --tree <TREE>#
Запись вывода команды в указанный каталог.
- -u <REMOTE_USER>, --user <REMOTE_USER>#
Название учетной записи для подключения к управляемому узлу.
Значение по умолчанию:
None.
- -v, --verbose#
Включение подробного вывода, показывающего больше информации о выполнении команды.
Увеличение уровня детализации возможно при добавлении нескольких
-v. Утилита может выводить до-vvvvvv. Рекомендуемый уровень для общей отладки –-vvv, для отладки соединений –-vvvv.
Примеры использования:
ansible all -m ping
ansible webserver -m command -a "uptime"
ansible webservers -m apt -a "name=nginx state=present" -b
ansible all -m copy -a "src=/local/file.txt dest=/remote/file.txt mode=0644"
ansible all -m debug -a "msg={{ ansible_fqdn }}" -e "ansible_fqdn=example.com"