Warum Ansible?
Nachdem ich meinen dritten Linux-Server im Homelab manuell konfiguriert hatte, war mir klar: Das kann nicht der richtige Weg sein. Ansible bietet genau das, was ich brauchte – agentlosen, idempotenten Konfigurationsmanagement über SSH.
Installation
# Debian/Ubuntu
sudo apt install ansible
# Oder via pip
pip install ansible
Erstes Inventory
# inventory/hosts.yml
all:
hosts:
proxmox01:
ansible_host: 192.168.10.10
proxmox02:
ansible_host: 192.168.10.11
children:
webservers:
hosts:
nginx01:
ansible_host: 192.168.20.10
Erstes Playbook: Server härten
# playbooks/hardening.yml
- name: Basis-Härtung
hosts: all
become: true
tasks:
- name: SSH PasswordAuthentication deaktivieren
lineinfile:
path: /etc/ssh/sshd_config
regexp: '^PasswordAuthentication'
line: 'PasswordAuthentication no'
notify: Restart SSH
- name: ufw installieren und aktivieren
ufw:
state: enabled
policy: deny
Meine Erkenntnisse
Nach einigen Wochen Ansible-Erfahrung ist mein größtes Learning: Idempotenz konsequent umsetzen. Jedes Playbook sollte mehrfach ausführbar sein, ohne unerwünschte Nebeneffekte zu erzeugen.
Die Lernkurve ist flach – wer YAML kennt und SSH versteht, kann innerhalb eines Tages produktive Playbooks schreiben.