Middle
Wo kann man Variablen in Rollen im DevOps-Kontext angeben?
sobes.tech KI
Antwort von AI
Wo kann man Variablen in Rollen im Kontext von DevOps angeben:
- Innerhalb der Rolle selbst: In der Datei
defaults/main.ymlfür Standardwerte, die überschrieben werden können, und invars/main.ymlfür rollen-spezifische Variablen, die nicht von außen überschrieben werden sollen. - Auf Playbook-Ebene: Im Abschnitt
varsdes Playbooks oder in separaten Variablen-Dateien, die übervars_fileseingebunden werden. Das ist praktisch für Variablen, die mehreren Tasks oder Rollen innerhalb eines Playbooks gemeinsam sind. - Auf Inventory-Ebene: In Inventory-Dateien (
hosts.yml,inventory.ini) oder in Dateien für bestimmte Gruppen (group_vars/) und Hosts (host_vars/). Variablen, die hier definiert sind, gelten für alle Hosts oder Gruppen, die im Inventory angegeben sind. - Über die Befehlszeile: Mit dem Parameter
-eoder--extra-varsbeim Ausführen von ansible-playbook. Damit können Variablen dynamisch übergeben werden. - In Vault-Dateien: Zur Speicherung vertraulicher Daten wie Passwörter oder API-Schlüssel. Variablen aus Vault werden während der Ausführung von Ansible entschlüsselt.
Priorität der Variablen bei der Anwendung:
- Zusätzliche Variablen (aus der Befehlszeile)
- Variablen im Playbook
- Variablen_files im Playbook
- Rollen-Variablen (
vars/main.ymlin der Rolle) - Inventory-Variablen (
host_vars/,group_vars/) - Standardwerte der Rolle (
defaults/main.ymlin der Rolle)