Ansible -Wiederholungen

Ansible -Wiederholungen

In diesem Artikel werden wir etwas über eine der wichtigsten Aufgaben von Ansible erfahren, die die Aufgabe „Wiederholung“ ist, die wir im Spielbuch auflisten werden, um Befehle auszuführen. Wir werden lernen, wie die Wiederholungsaufgabe in Ansible funktioniert.

Wiederholung ist eine Ansible -Aufgabe, die versucht, wiederholt problematische Playbooks auszuführen. Das Ansible -Ausgangsanschluss zeigt die Fehler in diesem Fehler an. Aus diesem Grund ist es manchmal schwierig, diese Probleme zu erfassen, wenn wir versuchen, sie mit Ansible zu beheben. Ansible bietet jedoch eine Option „Wiederholung“, mit der wir den Befehl mehr als einmal ausführen können.

Übernehmen. Manchmal sind die verbleibenden Hosts jedoch beim zweiten Versuch der Aufgabe erfolgreich. Jetzt gibt es verschiedene Methoden, bei denen wir versuchen, dieses Problem zu lösen, aber manchmal haben wir möglicherweise nicht die Zeit oder die Systemsteuerung, um dies zu erreichen.

Die Wiederholung der Aufgabe in dieser Situation könnte die einfachste und effektivste Vorgehensweise sein. Das Spielbuch wird dann in einem Laufversagenszustand erneut ausgezeichnet und standardmäßig versucht es, bis es das gewünschte Ergebnis generiert oder die Meldungsfehler aufhört, Fehler zu beenden. Wir können nicht behaupten, dass die Option "Ansible Return" ein Ersatz für die Standardschleife ist, die den Job wiederholt ausführt, bis die Bedingung erfüllt ist. Daher können wir keine Ansible -Wiederholung für Aufgaben verwenden, für die wir keine Möglichkeit haben, vorherzusagen oder zu schätzen, wie lange sie dauern würden. Daher kann dies unmöglich ein Ersatz für die Standardschleife sein. Es wird jedoch das schwere Problem einer unendlichen Schleife vermieden, indem die Arbeit nach einer vorgegebenen Anzahl von Versuchen festgelegt wird.

Voraussetzungen von Wiederholungsaufgaben in Ansible

In dieser Sitzung werden praktische Beispiele für Ansible bereitgestellt. Wir gehen davon aus, dass Sie immer die folgenden Voraussetzungen hatten, wenn Sie beabsichtigen, mit der Option "Ansible Return" mitzumachen:

  • Bevor wir das Ansible-Tool nutzen und die Option Wiederholung implementieren können, benötigen wir Ansible-bezogene Anwendungen auf Ihrem System. Dieses Tutorial verwendet Ansible 2.12 oder eine spätere Version.
  • Aus diesem Grund benötigen wir einen Ansible -Controller, um die Befehle auf Remote -Hosts und den Remote -Hosts auszuführen, auf die wir uns auf Implementierungen konzentrieren möchten.

Lassen Sie uns einfach die Idee der Wiederholungsoption eingehend durchlaufen und sehen, wie Ansible sie in Kraft setzt, indem Sie ein Beispiel verwenden.

Beispiel: In den Ansible -Playbooks 5 -mal wieder aufzunehmen

Vor der Implementierung des Beispiels ist ein gründliches Verständnis einer Vielzahl von Aufgaben, die im Ansible -Konfigurationstool enthalten sind. Nehmen wir das Szenario, in dem wir versuchen, die Wiederholungsoption zu implementieren. Hier ist das Beispiel in Ansible, das wir implementieren werden, um die Aufgaben des Spielbuchs mehrmals auszuführen.

Um die Befehle zu implementieren, müssen wir zunächst das Spielbuch mit dem Ansible -Tool erstellen. Nachfolgend finden Sie die Aussage, die wir ausführen werden, um das Spielbuch in Ansible zu erstellen.

[Root@Master Ansible]# Nano -Wiederholungen.YML

Nach dem Schreiben des obigen Befehls die Wiederholungen.Das YML -Spielbuch wird erstellt und in einem neuen Ansible -Terminal geöffnet. Im Spielbuch definieren wir immer zuerst die Implementierung, die wir im Parameter „Name“ implementieren werden. Als nächstes werden wir den Parameter „Hosts“ verwenden, damit wir die IP -Adresse oder verwandte Informationen des Remote -Hosts angeben können. Wir werden in diesem Beispiel "Localhost" als Ziel -Remote -Server verwenden.

Mit der ansiblen Komponente „Sammeln von Fakten“ sammeln wir Informationen über den gezielten lokalen Host. Diese Daten werden allgemein als "Fakten" oder "Parameter" in der Ansible -Software beschrieben. Durch die Verwendung des jeweiligen Befehls „Setup“ in der Ansible -Software können wir die Informationen von Localhost sammeln. Ansible Playbooks nennen diesen Setup -Parameter jedoch standardmäßig, um den Parameter für Sammelfakten zu erreichen. Wir werden entweder den Wert „wahr“ oder „falsch“ angeben, um die Daten des lokalen Hosts zu sammeln. Wie unten im Spielbuch gezeigt, möchten wir nicht die Ziele für localhost erhalten.

Nachdem wir die Parameter deklariert haben, die für das Playbook zum Konfigurieren des lokalen Host -Geräts erforderlich sind, werden die Aufgaben im Playbook aufgelistet, die wir auf dem lokalen Host -Computer implementieren möchten. In der Aufgabenliste werden wir zunächst den Namen der Aufgabe angeben, die wir ausführen werden, dh überprüfen, dass die Gültigkeit der Datei vorhanden ist oder nicht auf der Localhost -Maschine. Wir verwenden den Ansible Shell -Parameter, der die Shell -Befehle auf dem Localhost -Gerät ausführt.

In Ansible hat der Shell -Parameter einen Standardpfad, in dem die Befehle /bin /sh ausführt, aber in diesem Beispiel haben wir das „LS -LST /TMP /MYPROCESS gegeben.PID ”Pfad, auf dem der Ansible -Controller die Änderungen im Lokalhost -Gerät vorgenommen hat. Um die Ausgabe in diesem Ansible -Parameter zu überwachen und zu speichern, verwendeten wir den Parameter „Register“.

Als nächstes verwendeten wir den Parameter "bis". Für die Definition des Intervall.

Jetzt werden wir die Wiederholungen beenden.YML Playbook durch Schlagen von Strg+x. Jetzt wollen wir das Spielbuch ausführen. Wir werden also den folgenden Befehl verwenden:

[Root@Master Ansible]# Ansible-Playbook-Wiederholungen.YML

Wir erhalten das Ergebnis unten, nachdem wir den obigen Befehl ausgeführt haben. Wie in der Ausgabe gezeigt, wird das Spielbuch 5 -mal erfolgreich mit einer Ausführungszeit von 2 Sekunden ausgeführt.

Abschluss

Dieser Artikel hat behandelt, wie das Wiederholungsparameter des Ansible Playbook funktioniert. Wir haben die Wiederholungsparametertheorie gründlich gemeistert. Um das Wiederholungskonzept besser zu verstehen, setzen wir ein Beispiel in die Praxis um.