Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory

Mit einer der neuesten Management -Techniken „Ansible“ stellen wir vor, wie wir jeden überwachten Host auf dem Gerät auflisten. In Ansible verwenden wir das Plugin "Inventory", um alle Hosts im Netzwerk aufzulisten.

Es ist wichtig, eine Liste aller Host -Maschinen in Ansible zu haben. Eine Bestandsdatei zu führen ist genauso entscheidend wie die Aufrechterhaltung der Spielbücher oder Aufgaben, da Sie sich ständig in einem Zustand der Unsicherheit befinden und sich mit mehreren Bedenken fragen, ob Ihre Inventardatei falsch verwaltet wird. Zusätzlich zum Vorstehenden minimiert die Definition der Bestandsdatei der erforderlichen Variablen den Inhalt der Aufgabe in Spielbüchern und beschleunigt die Interpretationen. Es gibt eine Gruppe von Variablen, die sowohl in Ihren Spielbüchern als auch in den ansiblen Inventardateien deklariert werden können, die für die Verbindung und Konfiguration des Verhaltens der Konnektivität mit dem Host -Computer verantwortlich sind.

Voraussetzungen:

Im Folgenden sind die Anforderungen vor der Implementierung des Befehls für die Hostliste in Ansible:

  • Um die Implementierung zu starten, benötigen wir zunächst eine Software, die für die Ansible -Konfiguration verwendet wird, die im Servergerät mit der neuesten Version installiert ist. Ansible muss so konfiguriert werden, dass wir den All-Host-Computer in unserem Netzwerk problemlos auflisten können.
  • Um eine Konfigurationsaufgabe in Ansible auszuführen, benötigen wir einen Hauptkonfigurationsmanager. In diesem Tutorial verwenden wir den Controller -Server als Hauptcontroller.
  • Um Änderungen zu implementieren, müssen wir auf die Host -Server im Inventar -Tutorial der Hostliste abzielen. Hier haben wir zwei Ziel -Remote -Hosts.

Beispiel: Hostlisteninventar in der Maschine

Hier ist das Beispiel, das wir im Ansible -Tool implementieren, um das Inventar der Hostliste zu überprüfen oder zu definieren. Dafür werden wir dieses Beispiel in verschiedenen Schritten durchführen, damit wir die Arbeit und die Implementierung dieses Tutorials leicht verstehen können. Im Folgenden sind die Schritte:

Schritt 1: Überprüfen Sie das Standard -Inventar der Standardhostliste im Ziel -Remote -Host -Gerät

Zunächst überprüfen wir, wie viele Hosts im Inventar des Ansible -Tools sind. Dafür verwenden wir die Anweisung "Ansible" mit "-List-Hosts", damit wir die Standard-Gnoten im Inventar anzeigen können.

[Root@Master Ansible]# ANSIBLE ALL-LIST-HOSTEN

Hier ist die Ausgabe nach dem Schreiben des vorherigen Befehls:

Das Ansible -Terminal zeigt „0 Hosts“ an, wie Sie in der bereitgestellten Antwort sehen können, da wir das Inventar nicht deklariert haben. Wir generieren das Inventar, um das Inventar des Hosts im Terminal aufzulisten, bevor wir uns mit diesem befassen.

Standardinventar:

Wenn wir Ansible in der Software installieren, erstellt Ansible eine Bestandsdatei, die durch das Schreiben der folgenden Anweisung im Terminal gefunden wird:

[Root@Master Ansible]# sudo nano/etc/ansible/hosts

Das Ergebnis wird generiert, wenn wir die vorherige Erklärung schreiben. Dann werden Sie aufgefordert, das Passwort einzugeben:

In diesem Snapshot enthält die Datei Standard -Ansible -Hosts die Informationen zu den nicht gruppierten Hosts und Webservers -Gruppenhostern. Diese Hosts umfassen die URLs und verschiedene IP -Adressen.

Schritt 2: Definieren Sie das benutzerdefinierte Inventar in Ansible

In Ansible können wir unser Inventar auch definieren, indem wir mehrere Aussagen in das Ansible -Terminal schreiben. Das Definieren des Inventars beim Ausführen der Aussagen und Spielbücher ist eine kluge Entscheidung, die verhindert.

Um das Inventar alleine zu definieren, schreiben wir zunächst die folgende Erklärung, damit wir das Inventar in Ansible erstellen und die darin enthaltenen Hosts auflisten können, damit wir die Verbindung zwischen dem Ansible Controller und den gezielten Remote -Hosts herstellen.

[Root@Master Ansible]# Nano Hosts.YML

Nach dem Schreiben der vorherigen Erklärung wird das Inventar erstellt und in einem neuen Ansible -Terminal mit den „Hosts.yml ”Titel. Als nächstes listen wir die gezielten Hosts einzeln im Inventar auf. Der allererste Host, mit dem wir in Verbindung stehen, ist ein Linux -Host. Wir geben die IP -Adresse des Linux -Hosts, des Ansible -Benutzers, des Ansible -Passworts, der Art der Verbindung und der Ansible -Portnummer an. Wir machen dasselbe auch mit dem zweiten Target -Host. Der zweite Host, den wir verwenden, ist der Ansible -Host. Alle, die wir aufgelistet haben, stehen im Inventar unter dem Parameter Ansible.

Ansible:
Gastgeber:
Linux_host:
Ansible_Host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
Ansible_Connection: SSH
Ansible_port: 22
Ansible_host:
Ansible_Host: 192.168.7.10
Ansible_User: Iris
ansible_password: tpstps_1
Ansible_Connection: SSH
Ansible_port: 22

Nachdem wir die Bestandsdatei erstellt und die darin enthaltenen Hosts bereitgestellt haben, kündigen wir nun die Inventardatei und kehren zum Hauptansible -Terminal zurück.

Schritt 3: Erstellen Sie das Spielbuch in Ansible

Als nächstes erstellen wir das Spielbuch im Ansible -Tool, damit wir die Aufgaben definieren. Dafür schreiben wir den folgenden Befehl in das Ansible -Hauptterminal:

[root@master ansible]# nano ansible_advanced_inventory.YML

Jetzt wird das Playbook in ein neues Terminal eingeführt. Zuerst schreiben wir den Titel des Spielbuchs. In der nächsten Zeile stellen wir den Zielhost zur Verfügung. Wir verwenden die Option für Sammelfakten, mit der die gesamten Informationen von Hosts erhalten werden. Aber hier passieren wir „Nein“, was bedeutet, dass wir nicht alle Daten der Hosts erhalten möchten.

Als nächstes listen wir die Aufgaben im Spielbuch auf. Die erste Aufgabe wird verwendet, um den Zielhost mit dem Hostnamen anzuzeigen. In der nächsten Aufgabe drucken wir die Host -Ergebnisse.

- Name: Ansible Advanced Host Inventory
Hosts: Ansible [0]
sammle_facts: nein
Aufgaben:
- Name: Holen Sie sich Hostname des verwalteten Knotens
Shell: "Hostname"
Register: Ergebnis
- Name: Hostname drucken
debuggen:
msg: "Ergebnis.stdout "

Jetzt möchten wir das Spielbuch zusammen mit der Bestandsdatei ausführen. Also beenden wir das Spielbuch zuerst. Folgendes ist die Anweisung, mit der wir den Befehl ausführen:

[Root@Master Ansible]# Ansible-Playbook Ansible_Advanced_inventory.YML -ich Host.YML

Das Folgende ist die Ausgangsanzeige, die zeigt, dass die Verbindung erfolgreich ist. Da wir das Ansible [0] im Spielbuch übergeben haben, wird der erste Host in der Ausgabe angezeigt:

Abschluss

Wir hatten eine eingehende Diskussion im Ansible Inventory in diesem Tutorial. Wir haben gelernt, wie man das Inventar in Ansible aufbaut, und verbinden sie dann mit den Ziel -Remote -Hosts. Wir haben auch ein Beispiel implementiert, damit wir die Konzepte des Ansible -Inventars leicht verstehen können.