Как Ansible использует Ad-Hoc для выполнения специальных команд

Ad-Hoc — это способ, предоставляемый Ansible для быстрого выполнения специальных команд. Это позволяет пользователям выполнять модули Ansible непосредственно из командной строки без использования playbook. Ad-Hoc можно использовать для быстрого тестирования некоторых функций Ansible, временного изменения или запроса информации об атрибутах и ​​т. д.

пример: (демонстрирует, как использовать временную команду adhoc для просмотра файла hosts всех хостов)

ansible all -m shell -a "cat /etc/hosts"

Эта специальная команда использует Ansible для выполнения команды date, просмотра системного времени всех удаленных серверов и подключения к удаленному хосту с указанным именем пользователя username.

Синтаксис Ad-Hoc очень прост, основной формат следующий:
Основной формат этой команды:

ansible <hosts> -m <module> -a "<arguments>"

в:

  • <hosts>: Целевой хост или группа хостов, которым необходимо выполнить команду.
  • -m <module>: модуль Ansible, который необходимо использовать, например, здесь используется модуль оболочки, который используется для выполнения команд оболочки на удаленном хосте.
  • -a "<arguments>": параметры, передаваемые модулю, здесь команда «cat /etc/hosts» используется для просмотра содержимого файла hosts на удаленном хосте.

Следовательно, эта команда означает выполнение команды на всех целевых хостах cat /etc/hostsдля просмотра содержимого файла hosts. В этом примере используется модуль оболочки, что означает, что Ansible выполнит команду на удаленном хосте и вернет результат на управляющую машину.

Следует отметить, что shellпри использовании модуля необходимо соблюдать осторожность, поскольку команды, которые он выполняет на удаленном хосте, выполняются в оболочке, что может нести некоторые риски безопасности. Когда необходимо выполнять команды на удаленном хосте, commandрекомендуются более безопасные модули.

Приведенная выше команда Ad-Hoc фактически выполняет модули Ansible, предоставляемые базовой библиотекой Ansible. При выполнении команд Ad-Hoc Ansible динамически создает книгу воспроизведения и отправляет ее на удаленный хост. Этот плейбук содержит модули, которые необходимо выполнить, и соответствующие параметры.

Ansible сначала проверит локальный файл конфигурации Ansible.cfg и файл инвентаризации и определит, какой хост, имя пользователя, пароль и другую информацию следует использовать в соответствии с содержимым этих файлов, а затем динамически сгенерирует playbook в соответствии с параметрами объявления. -Hoc команда. Наконец, Ansible подключается к целевому хосту через SSH, выполняет команды или действия, определенные в playbook, и возвращает результаты в локальную систему.

Это основной принцип Ansible Ad-Hoc. Его преимущество в том, что он может быстро выполнять команды, проверки, отладку и т. д. за короткий промежуток времени без написания плейбука. Однако он менее масштабируем и гибок, чем использование плейбуков.

Supongo que te gusta

Origin blog.csdn.net/qq_34185638/article/details/131117354
Recomendado
Clasificación