Inventory ·
Playbooks ·
Modules ·
Roles ·
Ad-Hoc ·
Variables
Ansible ist ein agentenloses Automatisierungstool für Konfigurationsmanagement, Deployment und Orchestrierung. Diese Konzepte sind essenziell für die effiziente Automatisierung von IT-Infrastrukturen.
Inventory definiert die Hosts und Gruppen, die Ansible verwaltet. Es kann als einfache INI-Datei, YAML-Datei oder dynamisches Inventory (z.B. AWS, Azure) bereitgestellt werden.
ansible-inventory --list um das vollständige Inventory mit allen Hosts und Gruppen anzuzeigen. Das ist besonders nützlich bei dynamischen Inventories.
Playbooks sind YAML-Dateien, die die gewünschte Konfiguration beschreiben. Sie enthalten eine Liste von tasks, die auf bestimmten Hosts ausgeführt werden.
Modules sind die ausführbaren Einheiten in Ansible. Sie führen spezifische Aufgaben aus – z.B. Pakete installieren, Dateien kopieren oder Dienste starten.
| Modul | Beschreibung |
|---|---|
| apt / yum / dnf | Paketverwaltung (Ubuntu/Debian, RHEL/CentOS) |
| copy / template | Dateien kopieren oder mit Jinja2-Templates generieren |
| service / systemd | Dienste starten, stoppen, neu laden |
| file | Dateien und Verzeichnisse verwalten (Berechtigungen, Eigentümer) |
| command / shell | Beliebige Befehle ausführen (shell = mit Shell-Interpretation) |
| git | Git-Repository klonen oder aktualisieren |
| docker_container | Docker-Container verwalten |
ansible-doc <modul> um die vollständige Dokumentation eines Moduls anzuzeigen – inklusive aller Parameter und Beispiele.
Roles sind strukturierte, wiederverwendbare Einheiten für Playbooks. Sie organisieren Tasks, Handler, Variablen und Templates in einem standardisierten Verzeichnisbaum.
ansible-galaxy init <role-name> um automatisch das Grundgerüst einer Role zu erstellen. Teilen Sie Ihre Roles über Ansible Galaxy.
Ad-Hoc Commands führen einzelne Tasks auf einer Gruppe von Hosts aus – ohne Playbook. Sie sind ideal für schnelle Operationen, Tests und Überwachung.
--check für einen Trockenlauf, um Änderungen zu testen.
Variables ermöglichen die dynamische Konfiguration von Playbooks. Sie können in Playbooks, Inventory, group_vars, host_vars und Templates definiert werden.
ansible -m setup host um alle verfügbaren Facts (Systeminformationen) eines Hosts anzuzeigen. Diese können Sie in Playbooks und Templates verwenden.
Inventory
Playbooks
Modules
Roles
Ad-Hoc
Variables
ansible all -m ping ·
ansible-playbook site.yml ·
ansible-galaxy init role_name