Referencia rápida

Hoja de trucos de estructura y diseño de roles de Ansible

Guía de referencia rápida del diseño de directorios de roles de Ansible, tareas, manejadores, variables, plantillas y dependencias.

· Publicado

Los roles de Ansible proporcionan una forma estandarizada de empaquetar tareas, manejadores, variables y plantillas para su reutilización.

🔗 Related: Hoja de trucos básica de Ansible · Guía de inicio rápido de Ansible · Ejemplos de Ansible Playbooks

Diseño estándar de directorio de roles

Genere una estructura de rol con ansible-galaxy init role_name:

roles/
  common/
    tasks/
      main.yml          # Punto de entrada principal para tareas ejecutadas por el rol
    handlers/
      main.yml          # Manejadores activados mediante notify
    templates/          # Plantillas Jinja2 (.j2) referenciadas por el módulo template
    files/              # Archivos estáticos y scripts transferidos con el módulo copy
    vars/
      main.yml          # Variables de alta precedencia específicas para este rol
    defaults/
      main.yml          # Variables por defecto de baja precedencia (anulables)
    meta/
      main.yml          # Dependencias del rol y metadatos del autor

Uso de roles en Playbooks

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

Precedencia de variables en roles

Las variables en defaults/main.yml tienen la precedencia más baja en Ansible, siendo valores por defecto seguros que se pueden anular fácilmente.

Las variables en vars/main.yml tienen alta precedencia y están reservadas para lógica constante interna del rol.


Referencias

Temas relacionados