Testen von Ansible mit einem einfachen Befehl
In diesem Schritt testen Sie Ihre Ansible-Installation, indem Sie einen einfachen Befehl auf dem lokalen System ausführen. Wechseln Sie in das Projektverzeichnis und verwenden Sie die vorkonfigurierte Inventory-Datei, um einen Ansible Ad-hoc-Befehl auszuführen.
Navigieren Sie zum Projektverzeichnis und testen Sie die grundlegende Ping-Funktionalität:
cd /home/labex/project
ansible localhost -m ping
Das ping
-Modul sendet keine ICMP-Pakete; stattdessen überprüft es, ob Ansible eine Verbindung zum Ziel herstellen und Python-Code ausführen kann. Eine erfolgreiche Antwort sieht so aus:
localhost | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
Lassen Sie uns diese Ausgabe aufschlüsseln:
- localhost | SUCCESS: Zeigt an, dass der Befehl auf dem Ziel localhost erfolgreich ausgeführt wurde
- ansible_facts: Enthält Systeminformationen, die während der Ausführung ermittelt wurden
- discovered_interpreter_python: Der Python-Interpreter-Pfad, den Ansible gefunden hat und verwenden wird
- changed: false: Gibt an, dass keine Änderungen am System vorgenommen wurden (Ping ist schreibgeschützt)
- ping: "pong": Die klassische Antwort, die die Ansible-Konnektivität bestätigt
Die "pong"-Antwort bestätigt, dass Ansible korrekt funktioniert und mit dem Zielsystem kommunizieren kann.
Testen wir auch das Sammeln von Systeminformationen mit dem Setup-Modul:
ansible localhost -m setup -a "filter=ansible_distribution*"
Dieser Befehl verwendet das setup
-Modul, um System-Facts zu sammeln, insbesondere gefiltert nach Distributionsinformationen. Sie sollten eine Ausgabe sehen, die Details über Ihr Red Hat Enterprise Linux-System enthält:
localhost | SUCCESS => {
"ansible_facts": {
"ansible_distribution": "RedHat",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/redhat-release",
"ansible_distribution_file_search_string": "Red Hat",
"ansible_distribution_file_variety": "RedHat",
"ansible_distribution_major_version": "9",
"ansible_distribution_release": "Plow",
"ansible_distribution_version": "9.6",
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false
}
Verständnis der System-Facts-Ausgabe:
- ansible_distribution: Der Name der Linux-Distribution (RedHat)
- ansible_distribution_file_parsed: Ob Ansible die Distributionsdatei erfolgreich gelesen hat
- ansible_distribution_file_path: Die Datei, die Distributionsinformationen enthält
- ansible_distribution_file_search_string: Das Textmuster, das zur Identifizierung der Distribution verwendet wird
- ansible_distribution_file_variety: Die Distributionsfamilie (RedHat-Familie)
- ansible_distribution_major_version: Die Hauptversionsnummer (9)
- ansible_distribution_release: Der Release-Codename (Plow)
- ansible_distribution_version: Die vollständige Versionsnummer (9.6)
- discovered_interpreter_python: Von Ansible ermittelter Python-Interpreter
Dies bestätigt, dass Ansible erfolgreich Systeminformationen vom Zielhost sammeln kann, was für die Erstellung bedingter Automatisierung basierend auf Systemmerkmalen unerlässlich ist.