Schleifen sind Befehle oder Anweisungen, die so eingestellt sind, dass sie eine bestimmte Anzahl von Male gemäß den Benutzeranforderungen wiederholen sollen. Schleifen ermöglichen einen besseren Steuerfluss in Ihren Skripten und entfernen Sie die Gesamtreduktion von ihnen.
Ansible verfügt auch über mehrere Methoden zur Codeblockung von Code -Blöcken. Dieser Leitfaden soll Ihnen helfen, etwas über Schleifen in Ansible zu lernen. Wir werden die Grundlagen des Schleifens in Ansible zusammen mit der Syntax und geeigneten Beispielen abdecken.
Lassen Sie uns jedoch einen Blick auf Schleifen in Ansible werfen.
Schlüsselwörter für Schleifen in Ansible
Ansible verwendet die folgenden Schlüsselwörter für seine Schleifenstrukturen:
Wie der Name schon sagt, ist „Schleife“ der Befehl zum Implementieren von Schleifen in Codeblöcken.
Ähnlich wie bei "Loop" haben Sie "mit" mit_ ". In diesem Befehl müssen Sie es mit einem Lookup -Plugin zur Verfügung stellen. Es wird empfohlen, mit _* anstelle der Schleife zu verwenden, wenn Such -Plugins beteiligt sind.
Mit "Bis" können Sie eine Aufgabe ausführen, bis der erforderliche Zustand erfüllt ist. Es ist am nächsten am nächsten Zustand im Steuerfluss.
Nachdem Sie eine Vorstellung von den Schlüsselwörtern für Loops haben, können Sie erfahren, wie Sie sie in Code implementieren können.
Standardschleifen in Ansible
Wir werden zunächst diskutieren, wie Standardschleifen in Ansible implementiert werden können. Für Standardschleifen verwenden wir das Schlüsselwort "With_".
Dieses Beispiel zeigt, wie wir Loops verwenden können, um Benutzer hinzuzufügen.
- Name: Mehrere Benutzer hinzufügenJetzt wäre der nächste Schritt, das Spielbuch auszuführen. Sie können dies mit Hilfe des folgenden Befehls im Linux -Terminal tun:
Ansible-Playbook-Testbuch.YMLHier ist „Artikel“ der Suchbegriff. "With_Item" hat zwei Hosts, VM1 bzw. VM2. Die Schleife macht dasselbe wie der folgende Code:
- Name: Benutzer VM1 hinzufügenWie Sie sehen können, können wir mit „With_Item“ Redundanz aus unserem Code entfernen. Indem wir mehr Benutzer unter "With_items:" hinzuzufügen, können wir mehrere Benutzer nach Bedarf hinzufügen.
Das nächste Beispiel wird behandeln, wie verschachtelte Schleifen in Ansible ausgeführt werden können.
Verschachtelte Schleifen in Ansible
Mit Ansible können Sie verschachtelte Schleifen in seinen Skripten implementieren. Ein Beispiel für eine solche Schleife ist unten angegeben.
- Name: Bietet Benutzern Zugriff auf DatenbankenAlternativ können Sie denselben Code mit "Loop" wie folgt schreiben:
- Name: Bietet Benutzern Zugriff auf DatenbankenDie Benutzer erhalten nacheinander Zugriff auf alle Datenbanken. Wie bereits erwähnt, ist es einfacher zu verstehen.
Schauen wir uns einige andere Beispiele an, die die Fähigkeit von Ansible hervorheben.
Mit Ansible über Hashes iterieren
Mit Ansible können Sie eine Liste von Hashes überschreiten. Dies ist aus dem unten angegebenen Beispiel zu sehen.
Nehmen wir an, Sie haben eine Liste von Benutzern wie folgt deklariert.
Benutzer:Um alle Namen und Serien zu drucken, führen Sie das folgende Skript aus.
Aufgaben:Dadurch werden die Benutzernamen bzw. Serien drucken. Wenn Sie mehr Benutzer in das Panel „Benutzer:“ hinzufügen, können Sie mehr Benutzer drucken, ohne den Code erneut schreiben zu müssen.
Verwenden von Schleifen für parallele Datensätze
Sie können auch Schleifen für parallele Datensätze verwenden. Dies wird im folgenden Beispiel demonstriert:
Nehmen wir an, Sie haben die folgenden Daten:
Alphabete: ['A', 'B', 'C', 'D']Sie können diese Befehle wie folgt schleifen:
Aufgaben:Der obige Code läuft beide Datensätze zusammen als (a, 2), (b, 4) usw.
Zufällige Auswahlschleifen
Eines der Funktionen, die mit den Loops "With_" geliefert werden, ist "Random_Choice".
Wie der Name schon sagt, wird die Feature Random Choice verwendet, um Elemente zufällig aus einem bestimmten Satz von Anweisungen auszuwählen.
Dieses Beispiel zeigt, wie Sie Schleifen für die Auswahl einer Aktion aus einer bestimmten Liste von Zeichenfolgen erstellen können.
- debuggen:Hier ist die Zeichenfolge „Action ausführen“ willkürlich und kann durch alles ersetzt werden. Der Befehl with_random_choice würde aus der angegebenen Liste der Aktionen zufällig auswählen.
"Bis" Schleifen Beispiele
In diesem Abschnitt des Handbuchs geht es um die Syntax "bis" bis zur Schleife.
Wie bereits erwähnt, wiederholt der Befehl „bis“ eine bestimmte Reihe von Anweisungen, bis er eine bestimmte Bedingung erfüllt.
Hier ist ein Beispiel für die „bis“ Schleife in Aktion.
Shell:/usr/bin/fooDies ist ein Beispiel für eine rekursive Schleife. Der obige Codeblock wird weiter ausgeführt, bis die Shell „alle Systeme bereit“ als Textausgabe empfängt. Wenn dies nicht der Fall ist, wird es nach dem 10 -fachen Laufen aufhören, da die angegebenen Wiederholungen „10“ sind.
Die Verzögerung entspricht der Verzögerung in Sekunden. Standardmäßig ist es auf 5 festgelegt.
Abschluss
Dies war eine Anleitung, wie Sie Schleifen in Ansible verwenden können. Wir haben die Grundlagen von Loops und ihre Syntax in ansible behandelt und deren Verwendung über verschiedene Beispiele gezeigt. Damit hoffen wir, dass Sie Ihren Prozessen mit Ansible einen Schritt näher sind, um Ihre Prozesse zu automatisieren.