Sobes.tech
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.yml für Standardwerte, die überschrieben werden können, und in vars/main.yml für rollen-spezifische Variablen, die nicht von außen überschrieben werden sollen.
  • Auf Playbook-Ebene: Im Abschnitt vars des Playbooks oder in separaten Variablen-Dateien, die über vars_files eingebunden 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 -e oder --extra-vars beim 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:

  1. Zusätzliche Variablen (aus der Befehlszeile)
  2. Variablen im Playbook
  3. Variablen_files im Playbook
  4. Rollen-Variablen (vars/main.yml in der Rolle)
  5. Inventory-Variablen (host_vars/, group_vars/)
  6. Standardwerte der Rolle (defaults/main.yml in der Rolle)