Ansible

So verwenden Sie das Ansible Ping-Modul

So verwenden Sie das Ansible Ping-Modul

Um mit Ansible eine automatisierte Aufgabe auf einem Remote-Host auszuführen, ist es wie zu erwarten notwendig, bestimmte Variablen zu füllen und mit ihnen zu arbeiten. Diese Art von Aufgabe ist beispielsweise erforderlich, um einen Remote-Host online zu stellen, Anmelde- und Benutzerberechtigungen zuzulassen und eine Python-Umgebung einzurichten.

Es ist möglich, eine SSH-Verbindung zu einem Remote-Host herzustellen und zu überprüfen, ob der Host alle Kriterien erfüllt. Als Automatisierungstool bietet Ansible jedoch Module, mit denen Sie diese mühsamen, zeitaufwändigen Aufgaben in einer einzigen Befehlszeile ausführen können.

Dieses Tutorial zeigt Ihnen, wie Sie das integrierte Ping-Modul von Ansible verwenden, um verschiedene Set-Variablen auf Remote-Hosts auszuführen. Die Ansible-Ping-Anfrage ist ein einfaches, aber nützliches Tool, mit dem Sie die Verfügbarkeit und Praktikabilität von Remote-Hosts testen können.

Wir schauen uns nun genauer an, wie der Ansible-Ping funktioniert.

HINWEIS: Dieser Abschnitt ist etwas theoretisch. Wenn Sie nur den technischen Teil des Artikels benötigen, können Sie diesen Abschnitt überspringen. Trotzdem empfehlen wir, diesen Abschnitt zu lesen, da er einige nützliche Einblicke und Informationen zum Ping-Modul bietet.

Nachdem dies festgestellt wurde, werden wir nun das Ping-Modul vorstellen.

Über das Ansible Ping-Modul

Die Ansible-Ping-Anfrage überprüft den Remote-Host. Dieses Modul prüft speziell auf:

Nachdem eine Ping-Anfrage an den Remote-Host gesendet wurde, gibt das Modul einen Wert zurück, der angibt, ob der Ping erfolgreich war. Standardmäßig gibt das Ping-Modul bei Erfolg die Zeichenfolge 'pong' und bei Fehlschlagen eine Ausnahme zurück (sofern angegeben).

PRO-TIPP: Um sicherzustellen, dass Ihre Ansible-Playbooks auf den Ziel-Remote-Hosts nicht ausfallen, verwenden Sie das Ping-Modul, um zu überprüfen, ob die Anforderungen erfüllt sind, und führen Sie die Aufgaben nur aus, wenn eine erfolgreiche Ausgabe erhalten wurde.

Funktionen des Ansible Ping-Moduls

Das Ping-Modul ist recht einfach und im Folgenden finden Sie eine Liste der Funktionen, die dieses Modul bietet:

So verwenden Sie das Ansible Ping-Modul

Wir werden uns nun einige Beispiele ansehen, die das Ansible-Ping-Modul verwenden.

Verwenden des AD-HOC-Ping-Befehls

Die einfachste Möglichkeit, das Ansible-Ping-Modul auszuführen, besteht darin, einen einfachen AD HOC-Befehl im Terminal auszuführen.

Der AD HOC-Befehl lautet wie folgt:

ansible all -m ping -v

Der obige Befehl beginnt mit dem Aufruf von Ansible, gefolgt von dem spezifischen Muster des Hosts. In diesem Fall möchten wir 'alle' Hosts anpingen. Der nächste Teil, '-m', gibt das Modul an, das wir verwenden möchten. Das '-v' steht für ausführlich.

Bei Erfolg erhalten Sie eine Ausgabe wie die unten gezeigte:

Verwenden von /etc/ansible/ansible.cfg als Konfigurationsdatei 35.222.210.12
| ERFOLG =>
"ansible_facts":
"discovered_interpreter_python": "/usr/bin/python" ,
"geändert": falsch,
"Tischtennis"

Wenn die Remote-Hosts nicht verfügbar sind (vielleicht sind sie offline), erhalten Sie eine Ausgabe wie die unten gezeigte:

Verwenden von /etc/ansible/ansible.cfg als Konfigurationsdatei 35.222.210.12
| UNERREICHBAR! =>
"geändert": falsch,
"msg": "Verbindung zum Host über ssh fehlgeschlagen: ssh: Verbindung zum Host 35.222.210.12 Port 22: Zeitüberschreitung der Verbindung",
"unerreichbar": wahr

Verwenden des Ping-Moduls in Playbooks

Sie können das Ping-Modul auch in einem Playbook verwenden. In den meisten Fällen erstellen Sie kein Playbook, das nur eine Ping-Anfrage durchführt. Sie können jedoch alle Aufgaben in die Bedingungen der Ping-Anforderung einschließen.

Betrachten Sie das folgende einfache Playbook:

- Gastgeber: alle
werden: ja
Aufgaben:
- Klingeln

Sie werden vielleicht bemerken, dass ich in das obige Playbook die 'Werde'-Anweisung aufgenommen habe. Dies ist keine Voraussetzung, aber ich habe Fälle erlebt, in denen das Ping-Modul für einen Standardbenutzer fehlschlägt. Sie können nun das Playbook ausführen und prüfen, ob der Hostserver die Voraussetzungen für eine erfolgreiche 'Pong'-Antwort erfüllt.

Ansible-Playbook-Ping.yml

Wenn der Ping nicht erfolgreich ist, erhalten Sie die folgende Fehlermeldung "unerreichbar":

tödlich: [35.222.210.12]: UNERREICHBAR! => "changed": false, "msg": "Verbindung zum Host über ssh fehlgeschlagen: ssh: Verbindung zum Host 35.222.210.12 Port 22: Zeitüberschreitung der Verbindung", "unerreichbar": true

Verwenden der Raise-Ausnahme mit dem Ping-Modul

Sie können Daten auch als Absturz angeben, um eine Ausnahme auszulösen. Dies ändert die Standardrückgabe von 'pong' in 'crash.'

Betrachten Sie das folgende Playbook:

- Gastgeber: alle
werden: ja
Aufgaben:
- Klingeln:
Absturz: Daten

Das Ausführen des Playbooks mit Ausnahme sollte den folgenden Wert zurückgeben:

ansible-playbook ping_außer.yml

Fazit

Dieses Tutorial hat Ihnen den vielfältigen Nutzen des Ping-Moduls gezeigt. Obwohl dieses Modul keine komplexen Parameter wie die meisten Ansible-Module enthält, enthält es dennoch leistungsstarke Funktionen. Sie können beispielsweise mit dem Ping-Modul prüfen, ob ein Fehler auf eine fehlende Python-Umgebung zurückzuführen ist und eine Aufgabe erstellen, um die erforderliche Umgebung auf dem Remote-Host zu installieren install.

OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...