-
Notifications
You must be signed in to change notification settings - Fork 0
Ansible
Ansible ist ein schlankes, aber mächtiges Automatisierungswerkzeug aus der Linux- und DevOps-Welt. Die Grundidee: Statt dutzende Raspberry Pis oder Server manuell einzurichten, beschreibst du einmal in einer YAML-Datei, wie dein System aussehen soll – und Ansible erledigt den Rest.
💡 Wie funktioniert Ansible?
- YAML-Playbooks: Definiere den Soll-Zustand deines Systems in einfachen Textdateien.
- Agentenlos: Arbeitet nur per SSH – keine zusätzliche Software auf Zielsystemen nötig.
- Idempotenz: Playbooks können mehrfach ausgeführt werden, ohne das System zu beschädigen.
Mit Ansible kannst du automatisieren:
| Aufgabe | Beispiel |
|---|---|
| Pakete installieren |
apt: für Debian/Ubuntu, dnf: für Fedora. |
| Dienste verwalten | Dienste wie nginx oder docker starten/stoppen. |
| Konfigurationsdateien | Dateien anlegen oder ändern (z. B. /etc/nginx/nginx.conf). |
| Benutzer & Gruppen | Benutzer anlegen, Rechte verwalten, SSH-Schlüssel hinterlegen. |
| Netzwerkeinstellungen | IP-Adressen, Firewall-Regeln oder Hostnamen konfigurieren. |
Ansible passt ideal zu DOITPi, weil es Automatisierung einfach und zugänglich macht:
| Vorteil | Beschreibung |
|---|---|
| Klassenraum-Szenario | 20 Raspberry Pis in Minuten identisch einrichten (Docker, Dienste, Benutzer, Netzwerk). |
| Wiederholbarkeit | Playbooks beliebig oft ausführen – perfekt für Workshops oder Kurse. |
| Konsistenz | Keine manuellen Fehler – alle Systeme gleich konfiguriert. |
| Einfacher Einstieg | YAML ist einfach zu lesen – ideal für Lernende und Lehrkräfte. |
Beispiel: Docker installieren und Benutzer anlegen:
---
- name: Raspberry Pi Grundkonfiguration
hosts: all
become: yes
vars:
username: "doitpi"
packages: ["docker.io", "nginx"]
tasks:
- name: Pakete installieren
apt:
name: "{{ packages }}"
state: present
update_cache: yes
- name: Benutzer "{{ username }}" anlegen
user:
name: "{{ username }}"
shell: /bin/bash
groups: docker
append: yes
handlers:
- name: Restart Nginx
service:
name: nginx
state: restarted-
Speichere das Playbook als
raspberry_setup.yml. -
Führe es mit:
ansible-playbook -i inventory.ini raspberry_setup.yml
💡 Tipp für DOITPi-Nutzer:innen:
-
Nutze
--check, um Änderungen zu simulieren:ansible-playbook --check -i inventory.ini raspberry_setup.yml
-
SSH-Schlüssel statt Passwörter verwenden:
ssh-keygen -t ed25519 ssh-copy-id pi@<IP-Adresse-des-Pi>
-
sudo apt update && sudo apt install ansible- Sicherer Zugriff per SSH-Schlüssel (siehe Tipp oben).
-
Erstelle
inventory.inimit den IP-Adressen deiner Pis:[raspberrypis] 192.168.1.10 192.168.1.11
ansible-playbook -i inventory.ini raspberry_setup.yml| Frage | Antwort |
|---|---|
| Brauche ich Root-Rechte? | Ja, für Paketinstallation (become: yes). |
| Kann ich Ansible auf Windows nutzen? | Ja, aber WSL oder ein Linux-Server wird empfohlen. |
| Wie verwalte ich mehrere Geräte? | Mit Inventardateien oder Gruppen (z. B. [webserver], [database]). |
| Was ist der Unterschied zu Puppet/Chef? | Ansible ist agentenlos und nutzt YAML; Puppet/Chef benötigen Agenten. |
| Wo finde ich fertige Playbooks? | Auf Ansible Galaxy – z. B. für Docker, Nginx, oder Monitoring. |
- Ansible-Dokumentation: Offizielle Anleitung für Fortgeschrittene.
- DOITPi und Ansible: Ansible in DOITPi-Projekten einsetzen.
- Playbook-Beispiele: Praktische Beispiele für IoT und DevOps.
- Ansible Galaxy: Fertige Rollen für häufige Aufgaben.
💡 Warum Ansible für DOITPi?
- Einfachheit: Keine Agenten, nur YAML + SSH.
- Skalierbarkeit: Egal ob 1 oder 100 Raspberry Pis – konsistente Konfiguration.
- Lernfreundlich: Perfekt, um DevOps-Grundlagen und Automatisierung zu vermitteln!
- Idempotenz erklärt (wichtig für Verständnis).
-
Variablen (
vars) und Handler im Playbook-Beispiel. - SSH-Schlüssel-Tipp für mehr Sicherheit.
- Ansible Galaxy als Ressource für fertige Rollen.
-
--check-Modus für sicheres Testen.
Hier zur Startseite der DOITPi-Wiki
DOITPi ist Open Source und steht unter der MIT-Lizenz.
- Code: GitHub Repository
- Dokumentation: Wiki
- Releases: Aktuelles Image herunterladen
Hinweis: DOITPi nutzt Tools und Bibliotheken Dritter. Die jeweiligen Lizenzen finden Sie in den Danksagungen.
DOITPi steht auf den Schultern von Riesen. Besonderer Dank gilt:
- Raspberry Pi OS (Basis-System)
- CustomPiOS (Image-Erstellung)
- NetworkManager (Auto-Hotspot-Funktion)
- ROS2 & Node-RED (Robotik & IoT)
- Ansible (Automatisierung)
- Allen Mitwirkenden (GitHub Contributors)!
💙 Möchtest du hier auftauchen? Trage bei und sende einen Pull Request!
DOITPi © 2023–2025 DevOps & IoT für alle – einfach, offen, leistungsstark.
Für Eilige:
Du willst sofort loslegen? Hier ist der direkte Weg zur Installation:
Was du brauchst:
- Raspberry Pi (Modell 3/4/5 oder Zero 2 W)
- microSD-Karte (mind. 32 GB)
- Kartenleser o.Ä
- Netzteil
- 15 Minuten Zeit
Los geht’s! 🎉
⚡ DOITPi Auto-Hotspot
Immer verbunden – automatisch!
- Aktiviert sich selbst, wenn kein WLAN verfügbar ist.
-
SSID:
AP_<Hostname>| Passwort:123456789 - Zugriff per Browser/SSH – ideal für Headless-Betrieb.
- Automatische Umschaltung alle 60 Sekunden.
🔒 Passwort anpassen! 🔧
Kurz, klar, direkt zum Ziel – perfekt für alle, die keine Zeit verlieren wollen! 😊