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 аргументы, разделённые пробелами. Некоторые модули не принимают аргументов, а модули команд/оболочки просто принимают строку команды, которую вы хотите запустить.

Из плейбуков модули 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

См. также

Введение в адхок-команды

Примеры использования модулей в /usr/bin/ansible

Работа с плейбуками

Примеры использования модулей с /usr/bin/ansible-playbook

Разработать ли модуль?

Как написать собственные модули

Python API

Примеры использования модулей с Python API

Общение

Есть вопросы? Нужна помощь? Хотите поделиться своими идеями? Посетите руководство по общению Ansible

Индексы всех модулей и плагинов

Все доступные модули и плагины

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/module_plugin_guide/modules_intro.html

Spec-Zone.ru

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