0Pricing
DevOps Bootcamp · Lektion

delegate_to und run_once für Orchestrierung

Führen Sie einen Task auf einem Host für viele aus.

delegate_to und run_once für Orchestrierung ist eine kostenlose DevOps Bootcamp-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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Aufgaben laufen nicht immer dort, wo Sie denken

Standardmäßig läuft jede Aufgabe auf ihrem Zielhost. Für die Orchestrierung muss eine Aufgabe manchmal an einem völlig anderen Ort ausgeführt werden. 🎯

Lernen Sie delegate_to kennen

Das Schlüsselwort delegate_to führt eine Aufgabe auf einem anderen Host als dem aktuellen aus und verwendet dabei weiterhin die Variablen dieses Hosts.

- name: Add web node to load balancer
  community.general.haproxy:
    host: "{{ inventory_hostname }}"
    state: enabled
  delegate_to: lb01

Ein klassischer Anwendungsfall

Delegieren Sie beim Durchlaufen der Webknoten die Änderung am Load-Balancer an den LB-Host. Das Play bleibt knotenbezogen, aber die Aktion wird auf dem LB ausgeführt.

An localhost delegieren

Führen Sie eine Aufgabe auf Ihrem Steuerknoten aus, indem Sie sie an localhost delegieren. Das eignet sich hervorragend, um eine API aufzurufen oder eine Benachrichtigung zentral zu versenden.

- name: Notify chat
  ansible.builtin.uri:
    url: "{{ webhook }}"
    method: POST
  delegate_to: localhost

Variablen bleiben beim ursprünglichen Host

Durch Delegation ändert sich, wo eine Aufgabe ausgeführt wird, nicht aber, welche Fakten sie sieht. inventory_hostname bezeichnet weiterhin das ursprüngliche Ziel und nicht den Delegate.

Lernen Sie run_once kennen

Das Schlüsselwort run_once führt eine Aufgabe für den gesamten Batch nur einmal aus und nicht einmal pro Host. Ansible wählt den ersten Host für die Ausführung aus.

- name: Run database migration
  ansible.builtin.command: ./migrate.sh
  run_once: true

Warum run_once wichtig ist

Manche Aktionen dürfen nur einmal ausgeführt werden, etwa eine Migration oder eine Leader-Wahl. run_once verhindert, dass jeder Host denselben gemeinsamen Schritt wiederholt.

Beide kombinieren

Kombinieren Sie run_once mit delegate_to, um eine Aktion auf einem ausgewählten Host genau einmal auszuführen, etwa eine Migration von einem einzelnen App-Knoten aus.

- name: Migrate db once
  ansible.builtin.command: ./migrate.sh
  run_once: true
  delegate_to: app01

Ergebnisse werden gemeinsam genutzt

Mit run_once wird ein registriertes Ergebnis für alle Hosts im Batch freigegeben. Alle sehen die Ausgabe dieser einzigen Ausführung.

- ansible.builtin.command: cat /etc/version
  run_once: true
  register: ver

Fakten von einem Delegate sammeln

Verwenden Sie delegate_facts, wenn die gesammelten Fakten dem Delegate-Host statt dem aktuellen Host zugeordnet werden sollen. Standardmäßig ist diese Option deaktiviert.

Orchestrierung statt nur Konfiguration

Zusammen machen diese Schlüsselwörter aus der hostbezogenen Konfiguration eine echte Orchestrierung: Sie koordinieren eine Aktion für eine ganze Flotte von einem zentralen Punkt aus.

Kurze Überprüfung

Überprüfen wir diese Schlüsselwörter für die Orchestrierung.

Zusammenfassung

Verwenden Sie delegate_to, um eine Aufgabe auf einem anderen Host auszuführen, und run_once, um sie pro Batch nur einmal auszuführen – die Grundlage der Orchestrierung. ✅

Häufig gestellte Fragen

Ist die Lektion „delegate_to und run_once für Orchestrierung“ kostenlos?

Ja — der vollständige Text von „delegate_to und run_once für Orchestrierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „delegate_to und run_once für Orchestrierung“?

Führen Sie einen Task auf einem Host für viele aus. Du übst DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 „delegate_to und run_once für Orchestrierung“?

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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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. Netzwerkgeräte mit cli_command automatisieren
  2. delegate_to und run_once für Orchestrierung
  3. Web-, App- und Datenbankebenen koordinieren
  4. Load-Balancer-Drain und erneute Aktivierung
← Zurück zu DevOps Bootcamp