Ansible Inventory_Hostname

Ansible Inventory Hostname



Ansible ist ein weit verbreitetes DevOps-Automatisierungstool, mit dem wir eine Vielzahl von Aufgaben automatisieren können, darunter Remote-Serververwaltung, Anwendungsbereitstellung usw.

Eine der grundlegendsten Funktionen von Ansible ist die Fähigkeit, mehrere Maschinen gleichzeitig zu verwalten. Zu diesem Zweck arbeitet Ansible mit einem Host-Inventar, bei dem es sich im Wesentlichen um eine Liste von Knoten handelt, die Ansible verwaltet.

Im Ansible-Inventar hat jede Maschine oder jeder Host einen Namen, der durch die Variable inventory_hostname gesteuert wird. Diese Variable bezieht sich auf den Namen des aktuellen Knotens, an dem Ansible gerade arbeitet.







In diesem Tutorial erfahren Sie, wie wir den Parameter inventory_hostname verwenden können, mit dem Sie die knotenspezifischen Vorgänge ausführen können.



Was ist Ansible Inventory_Hostname?

Wenn wir ein Playbook auf einer Liste von Hosts ausführen, iteriert Ansible über jeden Host in der Liste. Für jeden Host wird die Variable inventory_hostname auf den Namen des aktuell ausgeführten Hosts gesetzt.



Wir haben beispielsweise eine Inventardatei wie folgt:





[Webserver]
web1.linuxhint.com
web2.linuxhint.com

Wenn Ansible eine Aufgabe oder ein Playbook ausführt, die auf die Webservergruppe abzielt, wird der inventory_hostname während der Iteration, die diesen Host verarbeitet, auf „web1.linuxhint.com“ und für den nächsten Host auf „web2.linuxhint.com“ gesetzt.

So verwenden Sie die Variable „Inventory_Hostname“.

Lassen Sie uns einige praktische Beispiele für die Verwendung von inventory_hostname in einem Ansible-Playbook behandeln.



Erstellen Sie zunächst eine Inventardatei mit den folgenden Einträgen:

[Webserver]
web1.linuxhint.com
web2.linuxhint.com

Als Nächstes schreiben wir ein Playbook, das die Variable inventory_hostname verwendet, wie im folgenden Beispiel gezeigt:

---
- Name: Zeigt den Inventar-Hostnamen an
Hosts: Webserver
Aufgaben:
- Name: Gibt den Inventar-Hostnamen aus
debuggen:
msg: „Der aktuelle Host ist: {{ inventory_hostname }}“

Ausgabe:

AUFGABE [Inventory_hostname drucken]  ****************************
ok: [172.18.0.9] => {
„msg“: „Der aktuelle Host ist: web1.linuxhint.com“
}
ok: [172.18.0.9] => {
„msg“: „Der aktuelle Host ist: web2.linuxhint.com“
}

Abschluss

Die Variable inventory_hostname ist eine grundlegende und leistungsstarke Funktion in Ansible, die es uns ermöglicht, den Namen des aktuell verwalteten Knotens abzurufen. Wir hoffen, dass Ihnen dieser Beitrag gefallen hat.