Ansible ist ein Open-Source-Werkzeug für Automatisierung, Konfigurationsmanagement und Orchestrierung in IT-Umgebungen. Es ermöglicht eine einfache Verwaltung von Servern, Netzwerken und Anwendungen ohne Agenteninstallation auf den Zielsystemen.
1 Funktionen und Vorteile von Ansible
- Agentenlose Architektur – Keine Installation von Clients oder Daemons notwendig.
- Einfache YAML-Syntax (Playbooks) – Klare, lesbare Konfigurationsdateien.
- Parallele Ausführung auf mehreren Systemen – Ermöglicht effiziente Massenadministration.
- Unterstützung für verschiedene Plattformen – Linux, Windows, Netzwerkgeräte, Cloud-Dienste.
- Idempotenz – Wiederholte Ausführung führt immer zum gleichen Ergebnis.
- Modularität – Erweiterbar durch eigene Module und Integrationen.
2 Wie funktioniert Ansible?
Ansible verwendet eine Push-Architektur, bei der ein Kontrollserver (Ansible-Controller) Befehle an Zielsysteme sendet. Die Kommunikation erfolgt über SSH (Linux) oder WinRM (Windows), ohne dass eine dauerhafte Client-Software benötigt wird.
Grundlegender Ablauf:
- Ein Administrator erstellt eine Inventar-Datei, die Zielsysteme definiert.
- Playbooks in YAML beschreiben gewünschte Konfigurationen oder Prozesse.
- Ansible verbindet sich per SSH oder WinRM mit den Zielsystemen.
- Die definierten Konfigurationen werden parallel auf den Zielservern ausgeführt.
3 Beispiel für ein einfaches Ansible-Playbook
- name: Installiere und starte Apache
hosts: webserver
become: yes
tasks:
- name: Installiere Apache
apt:
name: apache2
state: present
- name: Starte den Apache-Dienst
service:
name: apache2
state: started
Alles anzeigen
Dieses Playbook installiert Apache auf allen Systemen der Gruppe webserver und stellt sicher, dass der Dienst läuft.
4 Wichtige Ansible-Befehle
- Ping-Test auf alle Hosts: ansible all -m ping
- Befehl auf Remote-Hosts ausführen: ansible all -m command -a "uptime"
- Playbook ausführen: ansible-playbook playbook.yml
- Module anzeigen: ansible-doc -l
- Bestimmte Hosts ausführen: ansible webserver -m shell -a "df -h"
5 Vergleich: Ansible vs. Andere Automatisierungstools
| Funktion | Ansible | Puppet | Chef | SaltStack |
|---|---|---|---|---|
| Agentenlos | Ja | Nein | Nein | Optional |
| Sprache | YAML | DSL | Ruby | YAML/Python |
| Einrichtungsaufwand | Gering | Mittel | Hoch | Mittel |
| Zielgruppe | DevOps, Admins | Enterprise | DevOps, Entwickler | Sysadmins |
6 Wann sollte Ansible verwendet werden?
- Für die Automatisierung von IT-Prozessen (z. B. Server-Provisionierung, Software-Deployment).
- Bei der Verwaltung von Hybrid- oder Cloud-Umgebungen (AWS, Azure, Google Cloud).
- Wenn eine agentenlose Lösung bevorzugt wird.
- Für Unternehmen, die eine einfache, skalierbare Automatisierung benötigen.
7 Alternativen zu Ansible
- Puppet – Stärkere Eignung für komplexe Enterprise-Umgebungen.
- Chef – Flexibel, aber höhere Einstiegshürde durch Ruby-Skripte.
- SaltStack – Besonders leistungsstark für Echtzeit-Befehle und Event-gesteuerte Automatisierung.
8 Fazit
Ansible ist eine flexible, agentenlose Automatisierungslösung, die sich ideal für Konfigurationsmanagement, Deployment und IT-Orchestrierung eignet. Mit seiner einfachen Syntax und der breiten Unterstützung für verschiedene Plattformen ist es besonders einsteigerfreundlich und skalierbar.