
PostgreSQL auf Kubernetes zu betreiben ist heute für viele Teams Alltag. Helm hat sich als Standard-Werkzeug durchgesetzt, um diese Deployments reproduzierbar zu machen. Was dabei oft unterschätzt wird: Stateful Workloads wie Datenbanken verzeihen Konfigurationsfehler weniger als zustandslose Services – und wer bisher blind auf Bitnami-Charts gesetzt hat, steht seit 2025 vor einer unerwarteten Entscheidung.
Helm ist ein Package Manager für Kubernetes. Ein Helm Chart bündelt alle Kubernetes-Manifeste, die du für ein Deployment brauchst. Dazu gehören Deployments, Services, ConfigMaps, Secrets und PersistentVolumeClaims, zusammengefasst in einem versionierten, konfigurierbaren Paket. Statt dutzende YAML-Dateien manuell zu pflegen, definierst du deine Abweichungen vom Standard in einer values.yaml und übergibst den Rest dem Chart.
Für PostgreSQL bedeutet das: Das Chart kümmert sich um StatefulSets, Headless Services für die Peer-Kommunikation, die Einbindung von Persistent Volumes und optionale Replikationskonfigurationen. Du musst das Rad nicht neu erfinden, solltest aber verstehen, was unter der Haube passiert.
Bevor du deployst, solltest du folgendes sicherstellen:
kubectl-Zugriff auf deinen ClusterMit einem Community-kompatiblen Chart (Details zur Wahl im nächsten Abschnitt) sieht der Basis-Befehl so aus:
helm repo add <repo-name> <repo-url>
helm repo update
helm install my-postgres <repo-name>/postgresql \
--namespace databases \
--create-namespace \
-f values.yaml
Statt alle Parameter als --set-Flags zu übergeben, empfiehlt sich eine saubere values.yaml. Das macht das Deployment nachvollziehbar, versionierbar und reproduzierbar.
Drei Bereiche sind in der Praxis am kritischsten:
Passwörter gehören nicht direkt in die values.yaml. Lege stattdessen Kubernetes Secrets vorher an und referenziere sie im Chart:
auth:
existingSecret: 'my-postgres-secret'
secretKeys:
adminPasswordKey: 'postgres-password'
userPasswordKey: 'user-password'
Die Standard-Persistenzkonfiguration reicht für Tests, genügt aber nicht für den Produktionsbetrieb. Definiere Größe und StorageClass explizit:
primary:
persistence:
enabled: true
size: 50Gi
storageClass: 'fast-ssd'
Wenn du Hochverfügbarkeit brauchst, lohnt sich ein Read-Replica-Setup:
architecture: replication
readReplicas:
replicaCount: 2
Ohne explizite Replikationskonfiguration deployst du eine Einzelinstanz. Das funktioniert, ist aber kein produktionstaugliches Setup.
Bitnami hat jahrelang den De-facto-Standard für Helm Charts geliefert. Die Charts waren einfach zu nutzen, gut dokumentiert und hatten eine breite Community. Das hat sich geändert.
Seit VMware Bitnami übernommen hat, wurde das Repository-Modell schrittweise umgebaut – ein klassisches Beispiel für Vendor Lock-in. Ab August 2025 ist der direkte Zugriff auf das öffentliche Bitnami-Repository für kommerzielle Nutzer eingeschränkt. Wer helm repo update in seiner CI/CD-Pipeline ohne Anpassung laufen lässt, riskiert, dass Deployments fehlschlagen – nicht weil der Cluster ein Problem hat, sondern weil das Chart-Repository nicht mehr wie erwartet erreichbar ist.
Für bestehende Setups heißt das: Überprüfe, welche deiner Helm Charts von Bitnami stammen. Schau dir an, ob du betroffen bist – und wenn ja, wann dein aktuell gecachtes Chart das letzte Mal erfolgreich geladen wurde.
Das ist kein Grund zur Panik, erfordert aber konkretes Handeln.
Es gibt funktionstüchtige Alternativen, die aktiv gepflegt werden:
Wie du PostgreSQL mit dem Cloudpirates Helm Chart auf lowcloud deployst, zeigt unser Schritt-für-Schritt-Guide.
Die Wahl hängt von deinen Anforderungen ab:
| Kriterium | Einfaches Chart | Operator-Ansatz |
|---|---|---|
| Einstiegshürde | Niedrig | Mittel bis hoch |
| Flexibilität | Begrenzt | Hoch |
| Automatisches Failover | Manuell konfiguriert | Integriert |
| Replikationsverwaltung | Statisch | Dynamisch |
| Produktionsreife | Gut für kleine Setups | Empfohlen für kritische DBs |
Für Teams, die PostgreSQL produktiv und mit Hochverfügbarkeitsanforderungen betreiben wollen, ist ein Operator mittelfristig die solidere Wahl. Für kleinere Services oder Entwicklungsumgebungen reicht ein gut konfiguriertes Chart.
Wenn das Deployment läuft, fangen die eigentlichen Operationsaufgaben an.
Stelle sicher, dass dein PersistentVolumeClaim an eine StorageClass gebunden ist, die tatsächlich schnelle I/O liefert. Langsame Festplatten sind bei PostgreSQL ein häufiger Performance-Killer, der sich erst unter Last zeigt.
Für Backups bleibt pg_dump eine valide Lösung bei kleineren Datenbanken. In Kubernetes-nativen Setups lohnt sich ein Blick auf Velero für Snapshot-basierte Backups des Persistent Volumes auf S3-kompatiblem Objektspeicher oder Barman für WAL-Archivierung und Point-in-Time-Recovery.
# Einfacher pg_dump aus einem laufenden Pod
kubectl exec -it my-postgres-0 -n databases -- \
pg_dump -U postgres mydb > backup.sql
Beim Monitoring ist der postgres_exporter der Standardweg, um PostgreSQL-Metriken in Prometheus zu exportieren. Folgende Metriken solltest du im Blick haben:
pg_stat_activity – aktive Verbindungen und laufende Queriespg_replication_lag – Replikationsverzögerung bei Read Replicaspg_database_size_bytes – Datenbankwachstum über ZeitEin Grafana-Dashboard gibt es fertig zum Import – such nach Dashboard-ID 9628 im Grafana-Repository.
Der Betrieb von PostgreSQL auf Kubernetes ist lösbar, aber er bindet Zeit. Jemand muss die Charts aktualisieren, Backups überwachen, Failover-Szenarien testen und sicherstellen, dass Storage-Klassen nach Cluster-Upgrades noch korrekt funktionieren.
Für Teams, die sich auf ihre Anwendung konzentrieren wollen statt auf Datenbankinfrastruktur, ist eine DevOps-as-a-Service-Plattform wie lowcloud eine pragmatische Alternative. PostgreSQL wird dort als verwalteter Service bereitgestellt – auf Basis derselben souveränen Kubernetes-Infrastruktur, aber ohne den operativen Overhead. Du brauchst keine eigenen Helm Charts zu pflegen, keine manuelle Backup-Konfiguration einzurichten und kein Monitoring-Setup von Grund auf aufzubauen.
Das ist kein Ersatz für jeden Use Case. Wer spezifische PostgreSQL-Konfigurationen, eigene Extensions oder volle Kontrolle über jeden Parameter braucht, ist mit dem Eigenbetrieb besser bedient. Für alles andere lohnt sich die Frage: Ist das wirklich ein differenzierender Vorteil für dein Team, oder doch nur notwendiger Overhead?
PostgreSQL mit Helm auf Kubernetes zu deployen funktioniert. Die Schritte sind überschaubar, die Konfigurationsoptionen gut dokumentiert. Was sich geändert hat: Die Wahl des richtigen Charts ist keine Selbstverständlichkeit mehr. Wer bisher auf Bitnami gesetzt hat, sollte die eigene CI/CD-Pipeline überprüfen und eine Alternative evaluieren – ob das ein Community-Chart, ein Operator oder ein Managed-Service ist, hängt von den eigenen Anforderungen ab.
Die Infrastruktur-Entscheidungen von heute wirken sich direkt auf die Wartbarkeit in zwölf Monaten aus.
Wie du PostgreSQL in wenigen Minuten auf lowcloud deployst, zeigt unser PostgreSQL-Guide in der Dokumentation.
Die 7 größten DevOps-Probleme in KMU – und wie du sie löst
DevOps im KMU scheitert oft an denselben Problemen: fehlende Rollen, manuelle Deployments, kein Monitoring. So löst du die 7 häufigsten Stolperfallen.
Platform Engineering vs. DevOps – Wo liegt der Unterschied?
DevOps und Platform Engineering im Vergleich: Unterschiede, Gemeinsamkeiten und wann sich der Wechsel zur Internal Developer Platform lohnt.