Skip to content

Modules

Модуль в Ansible - это программа, которая выполняет определенные задачи на управляемых хостах. Модули предоставляют абстракцию для выполнения различных действий, таких как управление пакетами, файлами, сервисами, пользовательскими аккаунтами и т. д.

Ansible поставляется с большим количеством встроенных модулей, а также поддерживает создание пользовательских модулей для выполнения специфических задач.

Команда выводит список доступных модулей
ansible-doc -l

ansible-doc [module_name]

Вот несколько примеров встроенных модулей Ansible:

Модуль yum

Модуль yum: Управление пакетами на системах с установленным менеджером пакетов yum (например, CentOS, Red Hat).

Модуль yum
- name: Install Apache web server
  yum:
    name: httpd
    state: present

Модуль apt

Модуль apt: Управление пакетами на системах с установленным менеджером пакетов apt (например, Ubuntu, Debian)

Модуль apt
- name: Install Apache web server
  apt:
    name: apache2
    state: present

Модуль package

Модуль package. Этот модуль управляет пакетами на целевом объекте без указания модуля диспетчера пакетов (yum, apt, …). Его удобно использовать в гетерогенной среде без необходимости создавать конкретную задачу под каждого менеджера пакетов. Этот модуль выступает в качестве прокси-сервера для базового модуля диспетчера пакетов

Модуль package
 - name: Install the latest version of Apache and MariaDB
   ansible.builtin.package:
     name:
       - httpd
       - mariadb-server
     state: latest

Модуль copy

Модуль copy: Копирование файлов на управляемые хосты.

Модуль copy
- name: Copy configuration file
  copy:
    src: /path/to/local/file.conf
    dest: /etc/config/file.conf

Модуль service

Модуль service: Управление сервисами операционной системы.

Модуль service
- name: Restart Apache service
  service:
    name: apache2
    state: restarted

Модуль user

Модуль user: Управление пользователями и группами.

Модуль user
- name: Create user
  user:
    name: john
    state: present

Модуль file

Модуль file: Управление файлами и каталогами.

Модуль file
- name: Create directory
  file:
    path: /path/to/directory
    state: directory

Модуль template

Модуль template: Генерация файлов на основе шаблонов Jinja2.

Модуль template
- name: Create configuration file
  template:
    src: templates/myapp.conf.j2
    dest: /etc/myapp/myapp.conf

Модуль git

Модуль git: Клонирование репозиториев Git.

Модуль git
- name: Clone repository
  git:
    repo: https://github.com/example/myapp.git
    dest: /opt/myapp

Модуль command

Модуль command: Выполнение произвольных команд.

Модуль command
- name: Execute shell command
  command: ls -l

Модуль pip

Модуль pip. Модуль pip используется при управлении пакетами Python в целевой системе.

Модуль pip
 - name: Install specified python requirements
   pip:
     requirements: /my_app/requirements.txt

Описание всех модулей на оф-сайте