Kurzreferenz

Ansible Roles Struktur & Design Spickzettel

Kurzreferenz für Verzeichnislayout, Tasks, Handlers, Variablen, Defaults, Templates und Meta-Abhängigkeiten von Ansible-Rollen.

· Veröffentlicht

Ansible Roles bieten eine standardisierte Methode zur Modularisierung von Aufgaben, Handlern, Variablen und Templates für saubere Wiederverwendbarkeit.

🔗 Related: Ansible Basis-Spickzettel · Ansible Schnellstartanleitung · Ansible Playbook Beispiele

Standard-Verzeichnislayout für Rollen

Erstellen Sie ein Rollengerüst mit ansible-galaxy init role_name:

roles/
  common/
    tasks/
      main.yml          # Haupteinstiegspunkt für die von der Rolle ausgeführten Tasks
    handlers/
      main.yml          # Handler, die über notify ausgelöst werden
    templates/          # Jinja2-Vorlagen (.j2), referenziert vom Template-Modul
    files/              # Statische Dateien und Skripte, übertragen via Copy-Modul
    vars/
      main.yml          # Variablen mit hoher Priorität speziell für diese Rolle
    defaults/
      main.yml          # Überschreibbare Standardvariablen mit niedriger Priorität
    meta/
      main.yml          # Rollenabhängigkeiten und Autoren-Metadaten

Verwendung von Rollen in Playbooks

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

Variablenrangfolge in Rollen

In defaults/main.yml definierte Variablen haben die niedrigste Priorität in Ansible und dienen als sichere, leicht überschreibbare Standardwerte.

Variablen in vars/main.yml besitzen hohe Priorität und sind für rolleninterne Konstanten reserviert.


Referenzen

Verwandte Themen