Краткий справочник

Шпаргалка по структуре и проектированию ролей Ansible

Краткое руководство по структуре каталогов ролей Ansible, задачам, обработчикам, переменным, шаблонам и зависимостям.

· Опубликовано

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

🔗 Related: Основная шпаргалка по Ansible · Руководство по быстрому старту Ansible · Примеры плейбуков Ansible

Стандартная структура каталогов роли

Создайте базовую структуру роли с помощью ansible-galaxy init role_name:

roles/
  common/
    tasks/
      main.yml          # Главная точка входа для задач роли
    handlers/
      main.yml          # Обработчики, вызываемые через notify
    templates/          # Шаблоны Jinja2 (.j2) для модуля template
    files/              # Статические файлы и скрипты для модуля copy
    vars/
      main.yml          # Переменные с высоким приоритетом для данной роли
    defaults/
      main.yml          # Переопределяемые переменные по умолчанию с низким приоритетом
    meta/
      main.yml          # Зависимости роли и метаданные автора

Использование ролей в плейбуках

---
- name: Apply common and webserver roles
  hosts: webservers
  become: true
  roles:
    - role: common
    - role: nginx
      vars:
        nginx_port: 8080

Приоритет переменных в ролях

Переменные в defaults/main.yml имеют самый низкий приоритет в Ansible, что делает их удобными значениями по умолчанию.

Переменные в vars/main.yml имеют высокий приоритет и предназначены для внутренней логики роли.


Ссылки

Связанные темы