Ansible Roles ger ett standardiserat sätt att paketera uppgifter, hanterare, variabler och mallar för ren återanvändning.
🔗 Related: Ansible Grundläggande Fuskblad · Ansible Snabbstartsguide · Ansible Playbook Exempel
Standard kataloglayout för roller
Generera en rollstruktur med ansible-galaxy init role_name:
roles/
common/
tasks/
main.yml # Huvudsaklig startpunkt för uppgifter som körs av rollen
handlers/
main.yml # Hanterare som triggas via notify
templates/ # Jinja2-mallar (.j2) som refereras av template-modulen
files/ # Statiska filer och skript som överförs via copy-modulen
vars/
main.yml # Variabler med hög prioritet specifika för denna roll
defaults/
main.yml # Standardvariabler med låg prioritet (överskrivningsbara)
meta/
main.yml # Rollberoenden och metadata för upphovsman
Använda roller i Playbooks
---
- name: Apply common and webserver roles
hosts: webservers
become: true
roles:
- role: common
- role: nginx
vars:
nginx_port: 8080
Variabelprioritet i roller
Variabler som definieras i defaults/main.yml har lägst prioritet i Ansible och fungerar som säkra, överskrivningsbara standardvärden.
Variabler i vars/main.yml har hög prioritet och reserveras för rollens interna konstanter.