# Ansible Galaxy: Effiziente Wiederverwendung von Community-Wissen
TL;DR / Management Summary Sie müssen nicht für jede Software ein eigenes Ansible-Playbook schreiben. Ansible Galaxy ist das zentrale Repository für Rollen und Kollektionen der weltweiten Community. Ein Senior Admin nutzt Galaxy, um Standard-Tasks (z.B. die Installation eines Docker-Hosts oder die Härtung eines Apache-Webservers) massiv zu beschleunigen. Er achtet dabei jedoch auf die Sicherheit: Externe Rollen werden vor dem Einsatz in Produktion immer auditiert und via Requirements-Datei fest versioniert.
# 1. Was ist Ansible Galaxy?
Der ‘App Store’ für Automatisierung.
Galaxy bietet Zugriff auf über 30.000 Rollen.
- Roles: Abstrahierte Aufgabenpakete (Artikel 795).
- Collections: Moderne Pakete, die zusätzlich Module und Plugins enthalten.
- Vorteil: Hersteller (wie Elastic, Cisco oder Microsoft) pflegen oft ihre eigenen offiziellen Rollen in Galaxy.
# 2. Nutzung in der Praxis
Suchen und Installieren.
# Suche via CLI
ansible-galaxy search "mysql"
# Installation
# Installiert eine spezifische Rolle
ansible-galaxy install geerlingguy.mysql
# 3. Deep Dive: Requirements Management
Versionierung für stabile Umgebungen.
Installieren Sie Rollen niemals manuell. Nutzen Sie eine requirements.yml.
---
roles:
- name: geerlingguy.docker
version: 3.1.2
- name: dev-sec.ssh-hardening
version: 9.5.0
- Installation:
ansible-galaxy install -r requirements.yml. - Vorteil: Jeder im Team erhält exakt die gleiche Version der Community-Rolle.
# 4. Day-2 Operations: Security Audit & Vendoring
Trau, schau, wem.
Eine Rolle aus Galaxy führt Befehle mit Root-Rechten auf Ihren Servern aus.
- Aktion: Kopieren Sie den Code der Rolle in Ihr eigenes internes Git-Repository (Vendoring).
- Audit-Punkte:
- Werden Passwörter im Klartext geloggt?
- Werden unbekannte Binaries aus dem Internet geladen?
- Nutzt die Rolle veraltete Module?
# 5. Troubleshooting & “War Stories”
Wenn die Community-Rolle fehlschlägt.
# Top 3 Fehlerbilder
-
Symptom: “Role not found”.
- Ursache: Der Pfad in der
ansible.cfgstimmt nicht oder die Rolle wurde unter einem anderen Namen installiert. - Lösung:
ansible-galaxy listprüfen.
- Ursache: Der Pfad in der
-
Symptom: Inkompatible Ansible-Version.
- Ursache: Eine neue Rolle nutzt Features (z.B. Collections), die Ihr alter Ansible-Core (z.B. 2.9) nicht versteht.
- Fix: Update auf Ansible 2.15+ oder Ansible-Core.
-
Symptom: Variable-Conflict.
- Lösung: Nutzen Sie
defaultsOverrides im Playbook (Artikel 794).
- Lösung: Nutzen Sie
# “War Story”: Der “Zufalls”-Reboot durch Härtung
Ein Admin installierte eine beliebte SSH-Hardening Rolle von Galaxy.
Das Ereignis: Er führte das Playbook gegen alle 50 Server aus.
Das Ergebnis: Die Rolle deaktivierte das Root-Login via Passwort (korrekt!), löste aber am Ende einen Neustart des sshd Dienstes aus. Da der Admin seine eigenen SSH-Keys noch nicht hinterlegt hatte, sperrte er das gesamte Team in einem Rutsch aus allen 50 Servern aus.
Lehre: Testen Sie Galaxy-Rollen immer erst an einer Single-Node Testumgebung. Lesen Sie das README der Rolle genau: Was wird standardmäßig deaktiviert?
# 6. Monitoring & Reporting
Qualitäts-Check.
# Galaxy Quality Score
Achten Sie beim Download auf die Symbole im Galaxy-Portal:
- Community Score: Bewertung durch User.
- Quality Score: Automatischer Check gegen
ansible-lintStandards.
# 7. Fazit & Empfehlung
Ansible Galaxy ist ein Brandbeschleuniger für die IT-Produktivität.
- Empfehlung: Nutzen Sie Rollen von bekannten Autoren (z.B. Jeff Geerling /
geerlingguy). - Wichtig: Erstellen Sie einen internen “Private Galaxy” Server (z.B. via Automation Hub oder GitLab), um eigene Rollen sicher im Unternehmen zu teilen.
# Anhang: Cheatsheet (Galaxy CLI)
| Aufgabe | Befehl |
|---|---|
| Rolle init | ansible-galaxy role init my_role |
| Installierte listen | ansible-galaxy list |
| Rolle entfernen | ansible-galaxy remove <name> |
| Info abrufen | ansible-galaxy info <name> |