0Pricing
Ansible Academy · Lektion

defaults und vars: Die Reihenfolge beim Überschreiben

Entwerfen Sie klare Schnittstellen für Rollenvariablen.

defaults und vars: Die Reihenfolge beim Überschreiben ist eine kostenlose Ansible Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Ansible Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Zwei Variablenordner

Eine Rolle kann Variablen an zwei Stellen definieren: defaults/main.yml und vars/main.yml. Sie sehen ähnlich aus, verhalten sich aber sehr unterschiedlich.

defaults haben eine niedrige Priorität

Werte in defaults/main.yml haben die niedrigste Priorität. Sie sind unverbindliche Vorgaben, die von fast allem anderen überschrieben werden können.

# defaults/main.yml
http_port: 80
workers: 4

vars haben eine hohe Priorität

Werte in vars/main.yml haben eine hohe Priorität. Es handelt sich um feste Vorgaben, auf denen die Rolle besteht und die sich nur schwer überschreiben lassen.

# vars/main.yml
config_path: /etc/myapp

defaults sind Ihre öffentliche API

Legen Sie alles, was Benutzer anpassen könnten, in defaults ab. Das signalisiert: Ändern Sie mich ruhig. So entwerfen Sie eine benutzerfreundliche, wiederverwendbare Rolle.

vars sind interne Konstanten

Verwenden Sie vars für Werte, die die Rolle zum Funktionieren benötigt und die Benutzer nicht ändern sollten, etwa einen internen Pfad oder einen festgelegten Paketnamen.

Einen default einfach überschreiben

Benutzer können einen default-Wert aus group_vars, host_vars, dem Play oder der Befehlszeile überschreiben. Die einfachste Überschreibung greift sofort.

roles:
  - role: web
    vars:
      http_port: 8080

Einen vars-Wert zu überschreiben ist schwierig

Die vars einer Rolle haben Vorrang vor group_vars, host_vars und Play-Variablen. Nur extra-vars aus der Befehlszeile haben eine höhere Priorität. Verwenden Sie vars daher sparsam.

Extra Vars gewinnen immer

Variablen, die mit -e in der Befehlszeile übergeben werden, stehen über allen anderen Quellen, einschließlich der vars einer Rolle. Sie sind die letztmögliche Überschreibung.

ansible-playbook site.yml -e http_port=9090

Die gedankliche Reihenfolge

Merken Sie sich die Rangfolge: defaults ganz unten, danach Inventar- und Play-Variablen, dann die vars einer Rolle weit oben und schließlich extra-vars über allen anderen.

Tipp für den Entwurf

Bevorzugen Sie für fast alles defaults. Verwenden Sie vars nur, wenn ein Wert tatsächlich unveränderlich bleiben muss. Flexible Rollen halten Teams zufrieden.

Defaults dokumentieren

Kommentieren Sie jeden Wert in defaults/main.yml. Da Benutzer diese Werte anpassen werden, machen klare Hinweise Ihre Rolle zu einer selbsterklärenden Automatisierung.

Kurzer Check

Überlegen Sie, in welcher Datei ein Benutzer einen Wert am einfachsten überschreiben kann.

Zusammenfassung

Verwenden Sie defaults für anpassbare Werte, die Benutzer überschreiben, und vars für unveränderliche interne Konstanten. Extra-vars über die CLI schlagen alles andere. 🎚️

Häufig gestellte Fragen

Ist die Lektion „defaults und vars: Die Reihenfolge beim Überschreiben“ kostenlos?

Ja — der vollständige Text von „defaults und vars: Die Reihenfolge beim Überschreiben“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Ansible Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Ansible Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „defaults und vars: Die Reihenfolge beim Überschreiben“?

Entwerfen Sie klare Schnittstellen für Rollenvariablen. Du übst Ansible Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Ansible Academy zu starten?

Keine Vorkenntnisse erforderlich. Ansible Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „defaults und vars: Die Reihenfolge beim Überschreiben“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Ansible Academy-Lektion Code schreiben und ausführen?

Ja. Jede Ansible Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Rollenabhängigkeiten in meta/main.yml
  2. defaults und vars: Die Reihenfolge beim Überschreiben
  3. include_role und import_role zur Laufzeit
  4. allow_duplicates und Idempotenz von Rollen
← Zurück zu Ansible Academy