Spec-Zone.ru › Ansible

Введение в модули

Модули (также называемые «плагинами задач» или «плагинами библиотек») — это отдельные единицы кода, которые можно использовать из командной строки или в задаче плейбука. 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, можно использовать любые из следующих значений:

Допустимые значения

Описание

True , 'true' , 't' , 'yes' , 'y' , 'on' , '1' , 1 , 1.0

Истинные значения

False , 'false' , 'f' , 'no' , 'n' , 'off' , '0' , 0 , 0.0

Ложные значения

См. также

Введение в разовые команды

Примеры использования модулей с /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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API