Ausführen eines einfachen Befehls mit Ansible
Nachdem wir die Grundlagen von Ansible verstanden haben, tauchen wir nun in die Ausführung eines einfachen Befehls mit Ansible ein.
Umgebung vorbereiten
Bevor wir beginnen, stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Ansible auf Ihrem Steuerknoten (dem Computer, von dem aus Sie Ansible-Befehle ausführen) installiert.
- Eine Inventar-Datei, die die verwalteten Knoten (die Computer, die Sie mit Ansible verwalten möchten) definiert.
Hier ist ein Beispiel für eine Inventar-Datei (inventory.txt
) mit einem einzelnen Host:
[webservers]
192.168.1.100
Ausführen eines einfachen Befehls
Ansible stellt das Befehlszeilentool ansible
bereit, um Ad-hoc-Befehle auf verwalteten Knoten auszuführen. Um einen einfachen Befehl wie die Überprüfung der Laufzeit eines Remote-Hosts auszuführen, gehen Sie folgendermaßen vor:
-
Öffnen Sie ein Terminal auf Ihrem Steuerknoten.
-
Führen Sie den folgenden Ansible-Befehl aus:
ansible webservers -i inventory.txt -m shell -a "uptime"
Erläuterung:
ansible
: Das Ansible-Befehlszeilentool.
webservers
: Die Gruppe von Hosts, die in der Inventar-Datei definiert sind.
-i inventory.txt
: Der Pfad zur Inventar-Datei.
-m shell
: Das Modul, das verwendet werden soll, in diesem Fall das Modul "shell", um einen Shell-Befehl auszuführen.
-a "uptime"
: Der Befehl, der auf den Remote-Hosts ausgeführt werden soll.
-
Ansible stellt eine Verbindung zu den verwalteten Knoten her, führt den Befehl uptime
aus und zeigt das Ergebnis an.
graph LR
A[Steuerknoten] -- SSH --> B[Verwalteter Knoten]
B -- Führt "uptime" aus --> C[Ausgabe]
Anpassen des Befehls
Sie können den Befehl anpassen, um jeden anderen Shell-Befehl auf den Remote-Hosts auszuführen. Um beispielsweise den Inhalt des Verzeichnisses /etc/
aufzulisten, können Sie den folgenden Befehl verwenden:
ansible webservers -i inventory.txt -m shell -a "ls -l /etc/"
Dies führt den Befehl ls -l /etc/
auf den Remote-Hosts aus und zeigt das Ergebnis an.
Befehl |
Beschreibung |
ansible |
Das Ansible-Befehlszeilentool. |
webservers |
Die Gruppe von Hosts, die in der Inventar-Datei definiert sind. |
-i inventory.txt |
Der Pfad zur Inventar-Datei. |
-m shell |
Das Modul, das verwendet werden soll, in diesem Fall das Modul "shell", um einen Shell-Befehl auszuführen. |
-a "uptime" |
Der Befehl, der auf den Remote-Hosts ausgeführt werden soll. |
Beachten Sie, dass der Befehl ansible
nützlich ist, um einmalig Aufgaben auszuführen. Für komplexere und wiederholbare Automatisierungen sollten Sie Ansible Playbooks verwenden.