Введение в модули
Модули (также называемые «плагинами задач» или «плагинами библиотек») — это отдельные единицы кода, которые можно использовать из командной строки или в задаче плейбука. Ansible выполняет каждый модуль, обычно на удалённом управляемом узле, и собирает возвращаемые значения. В Ansible 2.10 и более поздних версиях большинство модулей размещено в коллекциях.
Вы можете выполнять модули из командной строки.
ansible webservers -m service -a "name=httpd state=started" ansible webservers -m ping ansible webservers -m command -a "/sbin/reboot -t now"
Каждый модуль поддерживает аргументы. Почти все модули принимают аргументы key=value, разделённые пробелами. Некоторые модули не принимают аргументов, а модули command/shell принимают только строку команды, которую нужно выполнить.
В плейбуках модули Ansible выполняются очень похожим образом.
- name: reboot the servers command: /sbin/reboot -t now
Ещё один способ передать аргументы модулю — использовать синтаксис YAML, также называемый «сложными аргументами».
- name: restart webserver
service:
name: httpd
state: restarted
Все модули возвращают данные в формате JSON. Это означает, что модули можно писать на любом языке программирования. Модули должны быть идемпотентными и избегать изменений, если обнаруживают, что текущее состояние соответствует желаемому конечному состоянию. При использовании в плейбуке Ansible модули могут инициировать «события изменений», уведомляя обработчики о необходимости выполнить дополнительные задачи.
Документацию по каждому модулю можно открыть из командной строки с помощью инструмента ansible-doc.
ansible-doc yum
Список всех доступных модулей см. в документации по коллекциям или выполните следующую команду в командной строке.
ansible-doc -l
Логические переменные
Ansible принимает широкий диапазон значений для bool в аргументах модулей: true/false, 1/0, yes/no, True/False и так далее. Сопоставление допустимых строк не зависит от регистра. Хотя в примерах документации используются значения true/false для совместимости с настройками по умолчанию ansible-lint, можно использовать любые из следующих значений:
Допустимые значения | Описание |
|---|---|
| Истинные значения |
| Ложные значения |
См. также
- Введение в разовые команды
-
Примеры использования модулей с /usr/bin/ansible
- Работа с плейбуками
-
Примеры использования модулей с /usr/bin/ansible-playbook
- Стоит ли разрабатывать модуль?
-
Как написать собственные модули
- API Python
-
Примеры использования модулей с API Python
- Общение
-
Есть вопросы? Нужна помощь? Хотите поделиться своими идеями? Посетите руководство Ansible по общению
- Указатели всех модулей и плагинов
-
Все доступные модули и плагины
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/module_plugin_guide/modules_intro.html