Ansible für Einsteiger
Kurz: Ansible richtet Server automatisch ein. Man beschreibt in einer Textdatei den gewünschten Zustand („Paket nginx ist installiert, Dienst läuft“), und Ansible stellt ihn über SSH her, ohne ein Programm auf dem Zielrechner zu installieren.
Bausteine
- Inventar: Liste der Rechner (
hosts.ini). - Playbook: YAML-Datei mit Aufgaben (Tasks).
- Module: fertige Bausteine wie
apt,copy,service,user.
Beispiel
- name: Webserver einrichten
hosts: webserver
become: true
tasks:
- name: nginx installieren
ansible.builtin.apt:
name: nginx
state: present
update_cache: true
- name: nginx starten
ansible.builtin.service:
name: nginx
state: started
enabled: trueStart: ansible-playbook -i hosts.ini playbook.yml. Vorher gefahrlos testen mit --check.
Idempotenz
Ein Playbook darf beliebig oft laufen und ändert nur, was nötig ist. Beim zweiten Lauf steht überall „ok“ statt „changed“. Deshalb nutzt man Module („Zustand herstellen“) statt Shell-Befehlen („tu etwas“).
Wann lohnt es sich?
Ab dem zweiten Server oder wenn man einen Rechner reproduzierbar neu aufbauen will. Für einen einzelnen privaten Rechner reichen Dotfiles und Konfigurationsverwaltung und ein Skript. Das Dateiformat erklärt Dateiformate für Konfiguration und Daten (YAML, JSON, XML, TOML, CSV).
Siehe auch: SSH unter Linux: Schlüssel und Absicherung