Mit der Verwendung von Lookup -Modulen können wir einfach die Informationen durch Außenbereiche in Ansible ziehen. Interne Dateisysteme, Remote -Data Warehouses oder Dienste sind nur einige Beispiele für diese Domänen. Nachdem die Informationen von diesen Anbietern gesammelt wurden, werden die Informationen vom Lookup -Modul verarbeitet und dann über die Templating -Engine von Ansible abgerufen. Und es ermöglicht den Zugriff auf diese Vorlage. Das Hauptziel des Ansible Config -Lookup -Plugins ist das Importieren von Parametern oder Vorlagen, die Informationen von externen Domänen oder Remote -Geräten enthalten.
Arbeiten am Lookup -Plugin in Ansible
Im Folgenden finden Sie die Arbeitsprinzipien des Advanced Lookup -Plugins im Ansible -Tool:
Im Gegensatz zu lokalen Aktivitäten, die mit einem solchen spezifizierten Verzeichnis im Zusammenhang mit dem implementierten Spiel oder der Rolle arbeiten.
Sie sollten ein solides Verständnis für Ansible, seine Funktionalität und seine Anweisungen haben, wenn Sie das Lookup -Modul in Ansible verwenden möchten, da dies eine erweiterte Funktionalität ist.
Informationen werden nur aus der Ferne verarbeitet. Daher müssen wir uns bewusst sein, dass es nach Berechnung oder Bewertung in einen Parameter übergeben oder als Informationsressource verwendet werden muss.
Es gibt mehrere verschiedene Ansätze, um maßgeschneiderte Module zu ermöglichen, z.
Für Informationen zum Sammeln oder Erstellen von Informationen können wir Ansible -Module in Filter und Experimente integrieren.
Der Abfragebetrieb, der in Version 2 in Ansible implementiert wurde.5, wird verwendet, um Suchmodule aufzurufen. Das Abfragemodul liefert immer eine Reihe von Werten, während die Lookup eine Reihe von von Kommas getrennten Werten (CSV) erzeugt (CSV). Um eine Suche zu erzwingen, um einen Wert zu erzeugen, können wir den Parameter von Wantlist = True speziell verwenden.
Voraussetzungen des Ansible Lookup -Plugins
Vor der Implementierung des Beispiels benötigen wir die folgenden Kriterien, die erfüllt werden müssen:
Es muss einen Ansible Control Server mit dem benannten Ansible -Controller geben. Um eine Verbindung zu erstellen und das Ansible Config Lookup -Plugin zu verwenden, benötigen wir die Remote -Hosts. Und hier verwenden wir den lokalen Host als Ziel -Remote -Host während der Implementierung.
Wir werden Playbooks erstellen, Ansible-Befehle ausstellen und die Ergebnisse auf entfernten Hosts auf dem Ansible-Controller-Gerät beobachten.
Wir werden versuchen, verschiedene Szenarien zu verwenden, um einige der Ansible -Lookup -Plugins zu untersuchen. Die Konfiguration des Lookup -Moduls in diesen Szenarien soll ausschließlich demonstrieren, wie sie verwendet werden können.
Beispiel 01: Anzeige der Standardrollenkonfigurationen in ansible
Jetzt werden wir das allererste Beispiel implementieren, in dem wir den Standard -Rollenpfad erhalten, indem wir das Lookup -Plugin von Ansible verwenden. Zunächst werden wir das Playbook erstellen, um den Ziel -Remote -Host und die Aufgaben einzuschließen. Im Folgenden wird der Befehl zum Erstellen des Spielbuchs in Ansible verwendet:
[root@master ansible]# nano config_lookup.YML
Nach dem Schreiben des Befehls oben und der Eingabetaste wird der Playbook -Editor in ein neues Terminal mit dem Namen „config_lookup. Die Identifizierung der Instanz oder des Moduls, die wir zunächst verwenden möchten. Wir haben den Parameter „Came -Facts“ von Ansible verwendet, damit wir alle Informationen zum Lokalhost in der Ausgabe angezeigt werden, aber wir möchten nicht die zusätzlichen Informationen des örtlichen Hosts des Ziels erhalten, damit wir die „false“ bestanden haben "Wert für die" Gather_Facts "im Spielbuch. Jetzt werden wir die Gastgeber des Spielbuchs erwähnen, sodass wir den „Localhost“ zur Verfügung gestellt haben.
Als nächstes möchten wir die Aufgaben auflisten, die wir erledigen wollen. Also haben wir den Parameter „Aufgaben“ geschrieben und dann die Aufgaben einzeln auflisten. In dieser Liste müssen wir zunächst den Parameter „Name“ verwenden, um den Namen der Aufgaben anzuzeigen. Und dann haben wir den Parameter „Debug“ verwendet und den darin enthaltenen Parameter „MSG“ so angeben, dass die Nachricht, die wir im Ergebnis anzeigen möchten, angezeigt wird.
- Name: Konfigurationssuchbeispiele
sammeln_facts: false
Gastgeber: Localhost
Aufgaben:
- Name: Rollenpfade ausdrucken
debuggen:
MSG: "Dies sind die konfigurierten Rollenpfade: Lookup ('config', 'default_roles_path')"
In diesem Beispiel werden wir die Bestandsdatei nicht erstellen, um eine Verbindung herzustellen, da wir den lokalen Host als Ziel -Remote -Host verwenden. Um die Ergebnisse zu erhalten, indem Sie das oben erstellte Spielbuch ausführen, schreiben wir den folgenden Befehl im Terminal:
[root@master Ansible]# Ansible-Playbook config_lookup.YML
Hier ist die Ausgabe, nachdem der Befehl oben ausgeführt wurde. Wir erhalten den konfigurierten Pfad des Localhost zusammen mit der Nachricht, die wir im Spielbuch in der grünen Schriftart mit dem Signal „OK“ geschrieben haben.
Beispiel 02: Anzeigen der Standardkonfigurationsfarben in Ansible
Hier ist das zweite Beispiel, das wir mit dem integrierten Modul von Ansible implementieren werden, bei dem es sich um das Lookup-Modul handelt. In diesem Szenario erhalten wir die konfigurierten Farben des Elements.
Wir werden für dieses Beispiel kein anderes Spielbuch erstellen. Wir führen nur die erforderlichen Änderungen im Playbook „config_lookup“ vor. Zunächst öffnen wir das Spielbuch, indem wir den folgenden Befehl schreiben:
[root@master ansible]# nano config_lookup.YML
Bei Spielbuchaufgaben ändern wir den Namen der Aufgabe und dann das „Element“ übergeben, um die Standardfarbe zu erhalten. Wir haben den Parameter „Loop“ verwendet, um die Standardfarben in einer Liste zu erhalten.
- Name: Konfigurationssuchbeispiele
sammeln_facts: false
Gastgeber: Localhost
Aufgaben:
- Name: Siehe die Standardfarben
Debug: msg = "item"
Schleife: "Lookup ('config', 'color_ok', 'color_changed', 'color_skip', wantlist = true)"
Beenden Sie nun das Spielbuch, indem Sie die Änderung speichern und das Spielbuch durch den folgenden Befehl ausführen:
[root@master Ansible]# Ansible-Playbook config_lookup.YML
Das folgende illustrierte Snippet zeigt uns die gewünschte Ausgabe, indem wir die oben geschriebene Erklärung ausführen. Wir haben die drei Standard konfigurierten Farben des Lookup -Plugins in Ansible, die grün, gelb und cyan sind.
Beispiel 03: Anzeigen der Prozedur für eskalierende Privilegien in Ansible
Wir werden das dritte Beispiel für das integrierte Konfigurations-Lookup-Plugin in Ansible implementieren. Im Beispiel eskalieren wir die Privilegien des Suchmoduls. Erstens werden wir das Spielbuch öffnen.
[root@master ansible]# nano config_lookup.YML
Wir werden nun den Code ändern und ihn zu unseren Anforderungen konfigurieren. Wir werden den Namen der Aufgabe ändern und die Debug -Logik ändern.
- Name: Konfigurationssuchbeispiele
sammeln_facts: false
Gastgeber: Localhost
Aufgaben:
- Name: Ausdrucken Sie die Standard -Eskalationsmethode aus
debuggen:
msg: "default_become_method: shoughup ('config', 'default_become_method')"
Auch hier werden wir denselben Befehl verwenden, um die Ergebnisse des Beispiels auszuführen und zu präsentieren.
[root@master Ansible]# Ansible-Playbook config_lookup.YML
Wie in der folgenden Ausgabe gezeigt, erhalten wir das „sudo“ -Regileg in der grünen Farbe.
Abschluss
Wir haben eines der integrierten Module von Ansible gelernt, nämlich die Konfiguration des Lookup-Plugins. Wir haben die Arbeit des Plugins besprochen und mehrere Beispiele implementiert, damit wir die funktionierenden und unterschiedlichen Module des Such -Plugins in Ansible leicht verstehen können.