Modules
Модуль в Ansible - это программа, которая выполняет определенные задачи на управляемых хостах. Модули предоставляют абстракцию для выполнения различных действий, таких как управление пакетами, файлами, сервисами, пользовательскими аккаунтами и т. д.
Ansible поставляется с большим количеством встроенных модулей, а также поддерживает создание пользовательских модулей для выполнения специфических задач.
Вот несколько примеров встроенных модулей Ansible:
Модуль yum
Модуль yum: Управление пакетами на системах с установленным менеджером пакетов yum (например, CentOS, Red Hat).
Модуль apt
Модуль apt: Управление пакетами на системах с установленным менеджером пакетов apt (например, Ubuntu, Debian)
Модуль package
Модуль package. Этот модуль управляет пакетами на целевом объекте без указания модуля диспетчера пакетов (yum, apt, …). Его удобно использовать в гетерогенной среде без необходимости создавать конкретную задачу под каждого менеджера пакетов. Этот модуль выступает в качестве прокси-сервера для базового модуля диспетчера пакетов
- name: Install the latest version of Apache and MariaDB
ansible.builtin.package:
name:
- httpd
- mariadb-server
state: latest
Модуль copy
Модуль copy: Копирование файлов на управляемые хосты.
- name: Copy configuration file
copy:
src: /path/to/local/file.conf
dest: /etc/config/file.conf
Модуль service
Модуль service: Управление сервисами операционной системы.
Модуль user
Модуль user: Управление пользователями и группами.
Модуль file
Модуль file: Управление файлами и каталогами.
Модуль template
Модуль template: Генерация файлов на основе шаблонов Jinja2.
- name: Create configuration file
template:
src: templates/myapp.conf.j2
dest: /etc/myapp/myapp.conf
Модуль git
Модуль git: Клонирование репозиториев Git.
Модуль command
Модуль command: Выполнение произвольных команд.
Модуль pip
Модуль pip. Модуль pip используется при управлении пакетами Python в целевой системе.
- name: Install specified python requirements
pip:
requirements: /my_app/requirements.txt