Konfigurieren von Ansible für die lokale Ausführung
Obwohl Ansible in erster Linie zur Verwaltung von Remote-Systemen eingesetzt wird, kann es auch so konfiguriert werden, dass es Befehle lokal auf dem Steuerungsknoten (control node) ausführt. Dies kann in verschiedenen Szenarien nützlich sein, beispielsweise beim Durchführen von lokalen Systemadministrationstasks, beim Ausführen von einmaligen Befehlen oder beim Testen von Ansible-Playbooks, bevor sie auf Remote-Hosts deployed werden.
Konfigurieren des Inventars
Um Ansible-Befehle lokal auszuführen, müssen Sie die Inventar-Datei so konfigurieren, dass sie den Eintrag localhost
enthält. Hier ist ein Beispiel für eine Inventar-Datei:
[local]
localhost ansible_connection=local
In diesem Beispiel enthält die Gruppe [local]
den Eintrag localhost
, und der Parameter ansible_connection=local
gibt an, dass Ansible die lokale Verbindungsmethode verwenden soll, um mit diesem Host zu interagieren.
Lokales Ausführen von Ansible-Befehlen
Sobald Sie das Inventar konfiguriert haben, können Sie Ansible-Befehle ausführen, die auf den lokalen Host abzielen. Hier ist ein Beispiel für das Ausführen eines einfachen Befehls zur Anzeige des aktuellen Arbeitsverzeichnisses:
ansible local -m command -a 'pwd'
In diesem Befehl ist local
der Name der im Inventar definierten Gruppe, -m command
gibt das command
-Modul an, und -a 'pwd'
übergibt das Argument pwd
an das Modul.
Lokales Verwenden von Ansible-Playbooks
Sie können auch Ansible-Playbooks verwenden, um Tasks auf dem lokalen Host auszuführen. Hier ist ein Beispiel für ein Playbook, das ein Verzeichnis und eine Datei erstellt:
---
- hosts: local
tasks:
- name: Create a directory
file:
path: /tmp/local_example
state: directory
- name: Create a file
file:
path: /tmp/local_example/example.txt
state: touch
Um dieses Playbook auszuführen, können Sie den folgenden Befehl verwenden:
ansible-playbook local_playbook.yml
Dadurch werden die im Playbook definierten Tasks auf dem lokalen Host ausgeführt.
Durch die Konfiguration von Ansible zur lokalen Ausführung von Befehlen und Playbooks können Sie Ihre Automatisierungsworkflows optimieren und das Testen und die Entwicklung Ihrer auf Ansible basierenden Infrastrukturverwaltung vereinfachen.