Τα Ansible Roles παρέχουν έναν τυποποιημένο τρόπο οργάνωσης εργασιών, handlers, μεταβλητών και προτύπων για καθαρή επαναχρησιμοποίηση.
🔗 Related: Βασικό Cheat Sheet Ansible · Οδηγός γρήγορης εκκίνησης Ansible · Παραδείγματα Ansible Playbooks
Τυπική διάταξη καταλόγου Role
Δημιουργήστε ένα πρότυπο διάταξης ρόλου χρησιμοποιώντας το ansible-galaxy init role_name:
roles/
common/
tasks/
main.yml # Κύριο σημείο εισόδου για τις εργασίες του ρόλου
handlers/
main.yml # Handlers που ενεργοποιούνται μέσω notify
templates/ # Πρότυπα Jinja2 (.j2) από το template module
files/ # Στατικά αρχεία και scripts μέσω copy module
vars/
main.yml # Μεταβλητές υψηλής προτεραιότητας για τον ρόλο
defaults/
main.yml # Προεπιλεγμένες μεταβλητές χαμηλής προτεραιότητας
meta/
main.yml # Εξαρτήσεις ρόλου και μεταδεδομένα δημιουργού
Χρήση Roles σε Playbooks
---
- name: Apply common and webserver roles
hosts: webservers
become: true
roles:
- role: common
- role: nginx
vars:
nginx_port: 8080
Προτεραιότητα μεταβλητών σε Roles
Οι μεταβλητές στο defaults/main.yml έχουν τη χαμηλότερη προτεραιότητα και παρακάμπτονται εύκολα από το inventory ή vars.
Οι μεταβλητές στο vars/main.yml έχουν υψηλή προτεραιότητα και προορίζονται για εσωτερική λογική του ρόλου.