Ansible Pipe Lookup

Ansible Pipe Lookup

In diesem Artikel werden wir mit der Verwendung des Pipe -Befehls im Lookup -Plugin behandelt, das eine Funktion der Ansible -Software ist. Wir werden die Verwendung des Rohrs durch das Spielbuch im Lookup -Plugin, seinen Zweck, warum wir sie verwenden und wie es in Ansible funktioniert.

In Ansible führt das Lookup -Modul nichts auf dem Ziel -Remote -Gerät aus, da es normalerweise auf der Ansible Controller -Seite ausgeführt wird. Das Ansible -Lookup -Modul verfügt über einen Standardpfad, der die Programmiersprache Python Pipe enthalten muss.PY -Skript Um die Pipe -Komponente zu verwenden. Die Rohrkomponente der Suche ist eine Art Umleitungsumleitung, die die angegebene Ausgabe an eine andere Adresse überträgt.

Wenn zwei oder mehr Befehle über eine Rohrkomponente kombiniert werden, kann das Ergebnis eines Befehls als Eingabe für einen weiteren Befehl verwendet werden, dessen Ergebnis als Eingabe für einen anderen Befehl verwendet werden kann, usw. Eine andere Möglichkeit, darüber nachzudenken, ist eine vorübergehende Verbindung, die zwei oder mehr Befehle im Ansible Playbook verbindet. Im Gegensatz dazu, Informationen über Übergangstextdokumente oder über das Anzeigemodul zu übertragen. Der Informationsfluss im Ansible Pipe -Lookup -Modul erfolgt von links nach rechts.

Parameter der Ansible -Rohr -Lookup

Im Ansible Pipe -Lookup -Modul benötigen wir eine Eingangszeichenfolge, die in jedem Dokument oder einer beliebigen Variablen gespeichert werden kann, damit wir diese dokumentierten Zeichenfolgen verwenden können, um die Befehle auszuführen.

Voraussetzungen der Ansible Pipe -Lookup:

In diesem Leitfaden werden wir davon ausgehen, dass wir die folgenden Anforderungen erfüllt haben, damit wir das Rohr -Lookup -Modul einfach in Ansible konfigurieren können:

  • Zunächst müssen wir das Ansible -Tool im System installieren, damit wir in einer Ansible -Umgebung arbeiten können.
  • Als Nächst.
  • Wir benötigen auch einen Zielserver, auf dem wir das Pipe -Lookup -Modul implementieren und konfigurieren, und hier haben wir den lokalen Host als Remote -Host angegriffen.
  • Am Ende enthält das Rohr -Lookup -Modul das Rohr.PY -Skript am Standardort, damit wir an der Pfeife arbeiten können, die auf der Python -Sprache basiert.

Beginnen wir mit einer kurzen praktischen Demonstration des Pipe -Lookup -Moduls des Ansible Playbooks in Aktion. Wir werden die Verwendungsanweisungen der Rohrsanleitung sowie die Implementierung des Ansible Pipe -Lookup -Moduls besprechen.

Beispiel: Verwenden Sie Rohr und Datum im Lookup -Plugin

Hier ist das allererste und einfache Beispiel für eine Ansible -Suche, bei der wir den Pfeifbefehl verwenden, der auf Python -Programmierung basiert. Um die Befehle und Aufgaben zu schreiben und die Plugin -Lookup zu implementieren, benötigen wir ein Playbook, um all diese zu schreiben. Nachfolgend finden Sie die Anweisung, mit der wir das Spielbuch im Ansible -Terminal erstellen werden.

[root@master ansible]# nano pipe.YML

Nach dem Schreiben des Befehls oben wird das Spielbuch erstellt von .YML -Erweiterung und wird automatisch im neuen Fenster des Ansible Tool of Name Pipe gestartet.YML. Lassen Sie uns nun mit dem Schreiben der erforderlichen Befehle beginnen, damit wir das Pipe -Lookup -Modul implementieren können. Zunächst werden wir den Target Remote -Host im Playbook zur Verfügung stellen, damit wir das Suchmodul des Remote -Host -Geräts verwalten werden. Und wir verwenden den lokalen Host für die Konfiguration.

In der nächsten Zeile haben wir die Option "Treffen" von Ansible verwendet, da diese Option verwendet wird, um die Informationen im Zusammenhang mit dem lokalen Host zu erhalten, wenn wir den wahren booleschen Wert an die Option übergeben. Aber wir haben den falschen booleschen Wert bestanden, damit wir beim Ausführen des Spielbuchs die Informationen des lokalen Hosts im Ausgabeterminal außer dem Namen des Remote -Hosts nicht erhalten. Nachdem wir die erforderlichen Informationen des lokalen Hosts bereitgestellt haben, schreiben wir die Aufgaben, die wir im Pipe Playbook implementieren möchten.

In der ersten Aufgabe versuchen wir, das Ergebnis zu erzielen, indem wir den Befehl Datum im Such -Plugin ausführen. Und dann müssen wir die Debugger -Option verwenden, damit wir die gewünschten Ergebnisse im Terminal präsentieren können. In der 2. Aufgabe werden wir die im Verzeichnis /home /ansible vorhandenen Textdokumente auflisten, die vorhanden waren. Dafür haben wir den Befehl pipe und ls verwendet, um die Liste der Textdokumente zu erhalten.

- Gastgeber: Localhost
sammeln_facts: false
Aufgaben:
- Name: RAW -Ergebnis des Befehls aus dem Laufdatum
debuggen:
MSG: "Lookup ('Pipe', 'Date')"
- Name: Listen Sie TXT -Dateien in A /Home /Ansible -Verzeichnis auf
debuggen:
msg: "Lookup ('Pipe', 'ls -ls/home/ansible/*.txt') "

Nachdem wir alle Aufgaben geschrieben haben, die wir im Spielbuch erledigen möchten, werden wir das Playbook ausführen. Also werden wir das Spielbuch zuerst beenden. Nach der Beendigung werden wir den folgenden Befehl schreiben, um die gewünschte Ausgabe in das Terminal zu erhalten.

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

Unten ist die Ausgabe, die wir nach dem Schreiben des Befehls oben im Ansible -Terminal erhalten müssen. Wie unten zeigt die Ausgabe der beiden Aufgaben erfolgreich ausgeführt. In der ersten Aufgabe wird eine Nachricht in einem grünen Signal mit dem Datum angezeigt. Und in der zweiten Aufgabe wird die Aufgabe ausgeführt und zeigt Textdokumente an, die in/home/Ansible/Test verfügbar sind.txt.

Abschluss

Wir haben eine der Komponenten des Lookup -Plugins diskutiert, das das Rohr in Ansible ist. Wir haben gelernt, in welcher Sprache das Skript von Rohr entwickelt wird. Wir haben erfahren, wie viele Parameter wir benötigen, um das Rohr -Lookup -Plugin in Ansible durchzuführen.