Ausführung von Ansible Ad-hoc-Befehlen
Nachdem Sie nun die Struktur von Ansible Ad-hoc-Befehlen verstanden haben, wollen wir untersuchen, wie Sie diese in der Praxis ausführen.
Ausführung von Ad-hoc-Befehlen
Um einen Ad-hoc-Befehl auszuführen, verwenden Sie den Befehl ansible
gefolgt vom Hostmuster, dem Modul und den Modulargumenten. Hier ist ein Beispiel:
ansible all -m ping
Dieser Befehl führt das ping
-Modul auf allen Hosts in Ihrem Ansible-Inventar aus und prüft, ob die Hosts erreichbar und ansprechbar sind.
Sie können auch bestimmte Hosts oder Hostgruppen ansprechen, indem Sie das Hostmuster ändern. Beispiel:
ansible webservers -m command -a "uptime"
Dieser Befehl führt den Befehl uptime
auf allen Hosts in der Gruppe webservers
aus.
Umgang mit Ausgabe und Fehlern
Bei der Ausführung von Ad-hoc-Befehlen zeigt Ansible die Ausgabe des Befehls für jeden Host an. Sie können die Option -v
verwenden, um die Detaillierungsstufe der Ausgabe zu erhöhen, was bei der Fehlerbehebung hilfreich sein kann.
Tritt während der Ausführung eines Ad-hoc-Befehls ein Fehler auf, zeigt Ansible die Fehlermeldung und den Host an, auf dem der Fehler aufgetreten ist. Sie können die Option -o
verwenden, um die individuelle Host-Ausgabe zu unterdrücken und nur die Fehler anzuzeigen.
Speichern von Ad-hoc-Befehlen als Playbooks
Während Ad-hoc-Befehle für schnelle Aufgaben nützlich sind, möchten Sie möglicherweise Ihre häufig verwendeten Befehle als Ansible Playbooks speichern. Playbooks ermöglichen es Ihnen, Ihre Automatisierungsaufgaben zu organisieren und zu versionieren, was die Wartung und Wiederverwendung vereinfacht.
Um einen Ad-hoc-Befehl in ein Playbook zu konvertieren, können Sie den Befehl ansible-playbook
mit der Option --generate-playbook
verwenden. Beispiel:
ansible-playbook --generate-playbook webservers_uptime.yml webservers -m command -a "uptime"
Dies erstellt eine neue Playbook-Datei namens webservers_uptime.yml
, die die Aufgabe enthält, den Befehl uptime
für die Gruppe webservers
auszuführen.
Durch die Beherrschung der Ausführung von Ansible Ad-hoc-Befehlen können Sie Ihre Infrastruktur schnell und effizient verwalten, Probleme beheben und die Grundlage für komplexere Automatisierungsabläufe legen.