Proxmox mit Terraform und Ansible: Infrastruktur beschreiben statt anklicken
Eine virtuelle Maschine ist in fünf Minuten angeklickt. Die zwanzigste, die genauso eingerichtet sein soll wie die erste, nicht mehr. Dieser Beitrag zeigt, wie Terraform und Ansible eine Proxmox-Umgebung nachvollziehbar machen – und ab wann sich das rechnet.
Das Wichtigste in Kürze
- Terraform legt fest, welche Maschinen es gibt; Ansible sorgt dafür, dass sie richtig eingerichtet sind. Beide ergänzen sich.
- Der größte Gewinn ist nicht die Zeitersparnis, sondern eine Umgebung, die sich aus ihrer Beschreibung jederzeit nachbauen lässt.
- Unterhalb von etwa einem Dutzend gleichartiger Systeme ist eine gepflegte Checkliste oft die ehrlichere Lösung.
In vielen mittelständischen Umgebungen ist die Einrichtung eines Servers ein Erfahrungswissen: Die Person, die ihn aufgesetzt hat, weiß, welche Häkchen gesetzt wurden. Das funktioniert, bis diese Person im Urlaub ist, das Unternehmen verlässt oder der Server nach einem Ausfall neu aufgebaut werden muss und sich niemand mehr an jede Einstellung erinnert.
Automatisierung setzt genau hier an. Nicht in erster Linie, um schneller zu sein, sondern um die Einrichtung aufzuschreiben – in einer Form, die sich nicht nur lesen, sondern auch ausführen lässt.
Beschreiben statt anklicken
Der Grundgedanke heißt im Fachjargon Infrastructure as Code. Statt eine virtuelle Maschine in der Oberfläche anzuklicken, beschreibt man in einer Textdatei, wie sie aussehen soll: Name, Prozessorkerne, Arbeitsspeicher, Datenträger, Netzwerk. Ein Werkzeug vergleicht diese Beschreibung mit dem tatsächlichen Zustand und stellt die Übereinstimmung her.
Daraus ergeben sich drei Eigenschaften, die jede für sich den Aufwand rechtfertigen können:
- Nachvollziehbarkeit. Die Beschreibung liegt in einer Versionsverwaltung. Wer hat wann was geändert, und warum? Die Antwort steht im Verlauf.
- Wiederholbarkeit. Die zwanzigste Maschine ist genauso eingerichtet wie die erste – nicht ungefähr so, sondern genau so.
- Wiederaufbau. Nach einem Totalausfall wird die Umgebung aus ihrer Beschreibung neu erstellt, und die Daten kommen aus der Sicherung. Das ist deutlich schneller und zuverlässiger als ein Nachbau aus dem Gedächtnis.
Terraform und Ansible: wer was macht
Die beiden Werkzeuge werden oft in einem Atemzug genannt, lösen aber unterschiedliche Aufgaben. Eine brauchbare Merkregel: Terraform beantwortet die Frage „Gibt es diese Maschine?“, Ansible die Frage „Ist sie richtig eingerichtet?“.
| Aufgabe | Terraform | Ansible |
|---|---|---|
| Virtuelle Maschinen und Container anlegen | Kernaufgabe | Möglich, aber nicht die Stärke |
| Betriebssystem einrichten, Pakete, Dienste | Nicht vorgesehen | Kernaufgabe |
| Merkt sich den Zustand | Ja, in einer eigenen Zustandsdatei | Nein, prüft bei jedem Lauf neu |
| Wiederholter Lauf | Ändert nur, was abweicht | Ändert nur, was abweicht |
In der Praxis laufen beide nacheinander: Terraform erstellt die Maschinen, gibt ihre Adressen weiter, und Ansible richtet sie anschließend ein. Dieselbe Ansible-Beschreibung lässt sich später jederzeit erneut ausführen, um zu prüfen, ob noch alles dem Soll entspricht – etwa nach einer Störung oder einem manuellen Eingriff.
Die Anbindung an Proxmox
Für Terraform gibt es keinen Anbieter von Proxmox selbst. Verbreitet sind zwei
Gemeinschaftsprojekte; nach unserem Stand ist das Projekt bpg/proxmox das
umfassendere und aktiver gepflegte, das neben Maschinen und Containern auch Benutzer,
Rechte, Firewall-Regeln und Netzwerkeinstellungen abbildet. Da solche Projekte von
Freiwilligen getragen werden, gehört eine Prüfung des aktuellen Pflegestands vor jeden
Start.
Für Ansible liegen die Proxmox-Module seit 2025 in einer eigenen Sammlung,
community.proxmox. Wer ältere Anleitungen findet, stößt noch auf die frühere
Schreibweise community.general – die Module selbst heißen gleich, nur der
Namensraum hat sich geändert.
Terraform legt in seiner Zustandsdatei ab, was es angelegt hat – dazu können auch Zugangsdaten und Schlüssel gehören. Diese Datei gehört nicht unverschlüsselt in eine öffentliche Versionsverwaltung und nicht auf einen beliebigen Arbeitsplatzrechner. Ebenso bekommt Terraform für den Zugriff auf Proxmox ein eigenes Zugangsmerkmal mit genau den Rechten, die es braucht – nicht das Administratorkonto.
Ein realistischer Einstieg
Niemand muss eine gewachsene Umgebung auf einen Schlag in Code überführen. Bewährt hat sich ein schrittweises Vorgehen:
- Mit Ansible für das Wiederkehrende beginnen. Aktualisierungen, Grundhärtung, Überwachungsagent, Zeitsynchronisation – Dinge, die auf allen Linux-Systemen gleich sein sollen. Das bringt sofort Nutzen, auch für bestehende Maschinen.
- Eine Vorlage bauen. Eine saubere Basisvorlage mit Cloud-Init, aus der neue Maschinen entstehen. Allein das beseitigt einen großen Teil der Handarbeit.
- Neue Systeme mit Terraform anlegen. Bestehende Maschinen bleiben zunächst, wie sie sind. Was neu hinzukommt, entsteht von Anfang an aus einer Beschreibung.
- Die Beschreibung als Dokumentation behandeln. Kommentare, sprechende Namen, eine kurze Einführung. Eine Automatisierung, die nur eine Person versteht, hat das Wissensproblem nicht gelöst, sondern verlagert.
Aufwand und Nutzen
Der Einstieg kostet Zeit: Die Werkzeuge wollen gelernt, die Beschreibungen geschrieben und getestet werden. Der Nutzen stellt sich erst ein, wenn dieselbe Beschreibung mehrfach verwendet wird – bei jeder neuen Maschine, bei jeder Prüfung, bei jedem Wiederaufbau.
Ein häufig übersehener Punkt: Automatisierung verlangt Disziplin. Wer nach der Einführung weiterhin Änderungen von Hand in der Oberfläche vornimmt, erzeugt Abweichungen zwischen Beschreibung und Wirklichkeit. Beim nächsten Lauf werden diese entweder überschrieben oder sorgen für Verwirrung. Das muss vorher mit allen Beteiligten besprochen sein.
Wann es sich nicht lohnt
- Bei einer Handvoll sehr unterschiedlicher Systeme. Wenn es fünf Server gibt, von denen jeder anders ist, ist eine sorgfältige Dokumentation mit Checklisten die wirtschaftlichere Lösung.
- Wenn niemand die Beschreibungen pflegen kann. Eine veraltete Automatisierung ist schlechter als keine, weil sie Sicherheit vorgaukelt.
- Für Windows-Arbeitsplätze. Dafür gibt es eigene Verwaltungswerkzeuge, die besser passen. Terraform und Ansible spielen ihre Stärken bei Servern und Infrastruktur aus.
- Als Ersatz für Überwachung. Automatisierung stellt einen Soll-Zustand her. Ob die Systeme im Betrieb gesund sind, beantwortet die Überwachung.
Fazit
Terraform und Ansible verwandeln das Erfahrungswissen über eine Proxmox-Umgebung in eine ausführbare Dokumentation. Der eigentliche Wert liegt in der Nachvollziehbarkeit und in der Fähigkeit, eine Umgebung aus ihrer Beschreibung neu aufzubauen – etwas, das auch die Abhängigkeit von einzelnen Personen deutlich verringert, wie in Digitale Souveränität im Mittelstand beschrieben. Ab etwa einem Dutzend gleichartiger Systeme rechnet sich das fast immer; darunter lohnt ein ehrlicher Blick, ob eine gute Checkliste nicht genügt.
Wir führen solche Automatisierungen schrittweise ein und übergeben sie so, dass Sie nicht von uns abhängen – mehr unter Automatisierung & Open Source und Server & Virtualisierung.