Mr.PlanB Logo
    LEITFADEN / KUBERNETES · BUSINESS-WORKLOADS

    Stateful-Anwendungen auf Kubernetes: Den Zustand schützen, nicht nur den Pod

    Kubernetes ist sehr gut darin, ausgefallene Pods zu ersetzen. Das Ersetzen eines Pods ist nicht dasselbe wie die Wiederherstellung des dahinterliegenden Anwendungszustands.

    Aktualisiert im Juli 2026·14 Min. Lesezeit·Business-Workload-Serie
    01

    StatefulSet ist ein Baustein, keine Datenplattform

    Ein StatefulSet bewahrt für jeden Pod eine stabile Identität und kann einzelne Replikate mit persistentem Storage verknüpfen — die Kubernetes-Dokumentation beschreibt es als geeignet für Workloads, die stabile Netzwerkidentität, persistenten Speicher oder geordnetes Lifecycle-Verhalten benötigen. Das macht es zu einem wichtigen Baustein. Es ist keine vollständige Datenplattform.

    StatefulSet bietetDie Anwendung bleibt verantwortlich für
    Stabile Pod-Namen und NetzwerkidentitätenAnwendungsreplikation (PostgreSQL-Streaming, Kafka-Partitionen usw.)
    Geordnete Erstellung und TerminierungTransaktionskonsistenz
    Kontrollierte Rolling UpdatesBackup und Notfallwiederherstellung
    Replikaspezifische Volume ClaimsQuorum und Split-Brain-Vermeidung
    ×Wählen Sie StatefulSet nicht nur, weil eine Anwendung Daten schreibt. Wählen Sie es, weil der Lebenszyklus der Anwendung die Garantien erfordert, die es bietet — ein Deployment mit einer einzelnen PVC kann einfacher sein, wenn stabile Identität und geordnetes Scaling nicht nötig sind.
    02

    Welche Stateful-Workloads üblicherweise auf Kubernetes laufen

    KategorieWichtige Überlegungen
    Relationale DatenbankenPostgreSQL, MySQL — Operator-Automatisierung hilft, aber Storage-Latenz, Failover und Split-Brain-Risiko bleiben bestehen
    Verteilte DatenbankenCassandra, MongoDB, CockroachDB — verstehen Replika-Identität und Quorum oft bereits selbst; richten Sie die Topologie am eigenen Modell der Datenbank aus
    Message-PlattformenKafka, RabbitMQ, NATS — Partitionsplatzierung, Queue-Dauerhaftigkeit und Storage-Durchsatz zählen
    Suche & AnalyticsElasticsearch, OpenSearch, ClickHouse — hohe IOPS, sorgfältige Shard-Zuteilung, Snapshot-Repositories
    Caches & Session StoresRedis, Memcached — klassifizieren Sie Daten vor der Wahl der Persistenz als entbehrlich, wiederherstellbar oder für die Kontinuität erforderlich
    Auf Kubernetes gehostete VMsKubeVirt-Disks in Persistent Volumes — ein Volume-Snapshot kann crash-konsistent sein, während die Gastanwendung inkonsistent bleibt
    03

    Wann ein Stateful-Dienst außerhalb von Kubernetes bleiben sollte

    1Ein Managed Service bietet stärkere Verfügbarkeit
    2Der Hersteller-Support schließt Kubernetes aus
    3Die Anforderungen an die Storage-Latenz sind streng
    4Dem Team fehlt Know-how im Datenbankbetrieb
    5Eine dedizierte Plattform funktioniert bereits zuverlässig
    6Die Lizenzierung ist an Hosts oder Sockets gebunden

    Der richtige Vergleich lautet nicht Kubernetes gegen alte Technologie — vergleichen Sie einen Kubernetes-Operator mit einem Managed Service, dedizierten VMs und bestehenden Enterprise-Plattformen.

    04

    Operatoren: mit Bedacht automatisieren

    Ein Operator erweitert Kubernetes um anwendungsspezifische Controller und Custom Resources — er kann Cluster-Erstellung, Failover, Backup, Restore, Scaling und Upgrades automatisieren. Er kann aber auch zu einer kritischen Abhängigkeit werden.

    SOURCE / Bewerten Sie den Operator, nicht nur die Datenbank

    Prüfen Sie Maintainer, Release-Frequenz, unterstützte Kubernetes- und Datenbankversionen, Backup- und Restore-Methoden, Fehlerbehandlung und Notfallwiederherstellungs-Dokumentation. Eine ausgereifte Datenbank, die über einen unausgereiften Operator läuft, kann mehr Risiko schaffen als der Betrieb auf einer gut verwalteten VM.

    Testen Sie, was passiert, wenn der Operator-Pod nicht verfügbar ist, der Operator aktualisiert wird, sich die CRD ändert oder ein Administrator das zugrunde liegende StatefulSet direkt bearbeitet — die Anwendung sollte nicht unwiederherstellbar werden, nur weil ihre Operator-Installation verloren ging.

    05

    Design des persistenten Storage

    Storage-TypEignung
    Block-StorageRelationale Datenbanken, Message Broker, Single-Writer-Anwendungen — Longhorn, Ceph RBD, Cloud-Block-Storage
    Shared File StorageDokument-Repositories, Medien-Workflows — CephFS, NFS, Enterprise-NAS; Locking und gleichzeitige Schreibzugriffe testen
    ObjektspeicherNutzer-Uploads, Medien, Archive — oft besser geeignet als ein Shared Filesystem für Portabilität und Zugriff durch mehrere Replikate
    Lokale Persistent VolumesStarke Performance, engere Node-Abhängigkeit — nur wenn das eigene Replikationsmodell der App Node-/Disk-Verlust verkraften kann

    StorageClasses sollten reale Service-Levels abbilden, dokumentiert pro Klasse: CSI-Treiber, Replikation, Ausfalldomäne, Performance-Erwartung, Snapshot-Fähigkeit und Backup-Methode. Lassen Sie Anwendungen Storage-Klassen nicht allein anhand des Namens auswählen.

    06

    Anwendungskonsistenz und Snapshots

    Kubernetes-VolumeSnapshots bieten über unterstützte CSI-Treiber eine standardisierte Schnittstelle für Point-in-Time-Kopien. Ein Snapshot kann schnellen Rollback und Schutz vor Upgrades unterstützen — er bietet nicht automatisch Offsite-Schutz, Anwendungskonsistenz oder Ransomware-Schutz.

    Manche Anwendungen erholen sich über Journale; andere benötigen einen Flush, Checkpoint, ein Filesystem Freeze oder ein datenbankeigenes Backup mit Transaktionslog-Schutz. Der Anwendungsverantwortliche muss das erforderliche Konsistenzmodell definieren — ein PVC-Objekt ohne Daten ist kein Backup, und ein Volume-Snapshot ohne Kubernetes-Ressourcen ist kein vollständiges Wiederherstellungsset für die Anwendung.

    07

    Hochverfügbarkeit, Quorum und PodDisruptionBudget

    Eine Stateful-Anwendung hat mindestens zwei Verfügbarkeitsebenen: Prozessverfügbarkeit und Datenverfügbarkeit. Das Ersetzen eines ausgefallenen Datenbank-Pods hilft nicht, wenn dessen Volume nicht verfügbar ist, die Datenbank das Quorum verloren hat oder Replikate veraltete Daten enthalten.

    SOURCE / Quorum-Planung

    Ein Cluster mit drei Mitgliedern kann den Ausfall eines Mitglieds tolerieren — er kann trotzdem ausfallen, wenn sich zwei Mitglieder einen Node oder eine Zone teilen, eine Network Policy die Replikation blockiert oder Wartung ein weiteres Mitglied entfernt. Dokumentieren Sie Abstimmungsregeln, Ausfalltoleranz und Split-Brain-Vermeidung.

    ×Ein PodDisruptionBudget begrenzt gleichzeitige freiwillige Unterbrechungen; es verhindert weder unfreiwillige Ausfälle noch schafft es Reservekapazität. Testen Sie Node-Drains vor dem Produktivbetrieb.
    ×Kubernetes weist darauf hin, dass das Force-Delete von StatefulSet-Pods die At-most-one-Semantik verletzen und in Cluster-Systemen zu Datenverlust führen kann — löschen Sie zustandsbehaftete Pods nicht leichtfertig per Force-Delete.
    08

    Backup-Architektur und Wiederherstellungsreihenfolge

    Schützen Sie jede erforderliche Ebene: Kubernetes-Ressourcen, Operator-CRDs, Daten aus Persistent Volumes, datenbankeigenes Backup, Transaktionslogs, Objektspeicher, Verschlüsselungsschlüssel, Container-Images und Wiederherstellungsdokumentation. Nutzen Sie datenbankeigenen Schutz, wenn Transaktionskonsistenz, Point-in-Time Recovery oder Log Replay erforderlich sind.

    Testen Sie schrittweise: eine Datei, ein Volume, eine Datenbank, den Operator, Custom Resources, einen kompletten Namespace und schließlich einen Restore in einen anderen Cluster — validieren Sie dabei auf jeder Ebene Geschäftstransaktionen und messen Sie RPO/RTO. Ein laufendes StatefulSet belegt keine nutzbaren Daten.

    Eine praktische Wiederherstellungsreihenfolge: Wiederherstellungs-Zugangsdaten → Ersatz-Cluster → CNI/CSI → Snapshot-Controller → StorageClasses → CRDs → Operator → Backup-Plattform → Datenbank/persistente Daten → Custom Resources → abhängige Anwendungen → Services/Ingress → Monitoring. Testen Sie das konkrete Produkt — das Verhalten des Operators kann eine andere Reihenfolge erfordern.

    09

    Scaling und Upgrades

    Stateful Scaling ist nicht dasselbe wie das Hinzufügen zustandsloser Web-Replikate — Scale-out kann Änderungen der Mitgliedschaft, Daten-Rebalancing und Shard-Verschiebung erfordern; Scale-in kann Daten-Evakuierung und Quorum-Validierung erfordern. Erlauben Sie automatisches Scaling erst, wenn Datenbewegung und Ausfallverhalten der Anwendung verstanden sind.

    Trennen Sie Upgrade-Änderungen, wo praktikabel — ein kombiniertes Upgrade von Kubernetes, Operator, Datenbank und Storage schafft ein schwieriges Rollback-Problem. Bestätigen Sie vor jedem Rolling Update, dass alte und neue Version koexistieren können, das Replikationsprotokoll kompatibel ist und ein Backup vorliegt.

    10

    Häufige Fehler

    ×StatefulSet mit einer Datenbankplattform gleichsetzen

    Es liefert Identität und Lifecycle-Verhalten — nicht Replikation, Backup oder Konsistenz.

    ×Storage anhand eines generischen Klassennamens auswählen

    Die Klasse erfüllt möglicherweise nicht die Anforderungen an Latenz, Ausfalldomäne, Snapshot oder Wiederherstellung. Dokumentieren Sie ihr tatsächliches Verhalten.

    ×Drei Replikate auf einem Node betreiben

    Replika-Anzahl ohne Trennung nach Ausfalldomänen bietet schwache Verfügbarkeit. Verteilen Sie Replikate bewusst.

    ×Ein PDB ohne Reservekapazität hinzufügen

    Wartung kann blockiert werden, weil kein Ersatz-Pod eingeplant werden kann. Halten Sie Spielraum vor.

    ×Snapshots als einziges Backup nutzen

    Der Snapshot verbleibt möglicherweise auf dem Quell-Speichersystem. Erstellen Sie eine unabhängige Kopie.

    ×Nur Volumes sichern

    Operator, Custom Resources, Secrets und Service-Konfiguration können fehlen. Schützen Sie die vollständige Anwendung.

    ×Autoscaling nutzen, ohne die Datenbewegung zu verstehen

    Das Hinzufügen oder Entfernen von Replikaten kann teures Rebalancing oder Datenverlust auslösen. Testen Sie zuerst manuell.

    ×Erfolg erklären, sobald Pods ‚Running‘ sind

    Validieren Sie Quorum, Replikation, Datenkonsistenz und Geschäftstransaktionen.

    11

    Checkliste zur Bereitschaft von Stateful-Workloads

    0 / 24
    12

    Häufig gestellte Fragen

    Es ist eine Anwendung, die Daten, Identität, Mitgliedschaft oder anderen Zustand über Pod-Ersetzung und Neuplanung hinweg bewahren muss.

    Es bietet stabile Pod-Identität, geordnetes Lifecycle-Verhalten und stabile Beziehungen zu Persistent Volumes.

    Nein. Datenreplikation liegt in der Verantwortung der Anwendung, Datenbank, des Storage-Systems oder Operators.

    Nein. Eine Anwendung mit einer einzigen Instanz kann ein Deployment mit einer PVC nutzen, wenn stabile Identität und geordnetes Lifecycle-Verhalten nicht nötig sind.

    Nicht automatisch. Vergleichen Sie den Betrieb auf Kubernetes mit Managed Services, virtuellen Maschinen und dedizierten Datenbankplattformen.

    Es ist ein anwendungsspezifischer Controller, der Custom Resources und Kubernetes-Kontrollschleifen nutzt, um eine Anwendung zu verwalten.

    Nein. Er kann Abläufe automatisieren, aber Teams müssen weiterhin Konsistenz, Replikation, Backup, Ausfall und Wiederherstellung verstehen.

    Sie können Teil einer Backup-Strategie sein, verbleiben aber möglicherweise auf dem Quell-Speichersystem und sind unter Umständen nicht anwendungskonsistent.

    Es begrenzt gleichzeitige freiwillige Unterbrechungen für ausgewählte Pods. Es verhindert weder unfreiwillige Ausfälle noch schafft es Reservekapazität.

    Manche können das, aber Scaling kann Änderungen der Mitgliedschaft, Rebalancing und Storage-Provisionierung erfordern. Testen Sie das spezifische Verhalten der Anwendung.

    Schützen Sie Kubernetes-Ressourcen, persistente Daten, anwendungseigene Backups, Transaktionslogs, Verschlüsselungsschlüssel, Operatoren und externe Abhängigkeiten.

    Sie muss Pod- und Node-Ausfälle überstehen, konsistente Daten bewahren, kontrollierte Upgrades unterstützen, sich in die erforderliche Wiederherstellungsumgebung restaurieren lassen und die fachliche Validierung bestehen.

    Betreiben Sie die Datenplattform, nicht nur die Pods

    Kubernetes kann eine starke Betriebsplattform für zustandsbehaftete Geschäftsanwendungen bieten — deklaratives Management, konsistente Automatisierung, Storage-Integration und wiederholbaren Betrieb. Die Risiken zeigen sich, wenn Teams Prozessersatz mit Datenwiederherstellung verwechseln.

    Wählen Sie den Storage bewusst, bewerten Sie den Operator, verstehen Sie Quorum und Ausfalldomänen, schützen Sie Kubernetes-Ressourcen und Anwendungsdaten getrennt, und stellen Sie die vollständige Anwendung in einem Ersatz-Cluster wieder her, bevor Sie ihr im Produktivbetrieb vertrauen. Betreiben Sie den Workload auf Kubernetes, wenn die Organisation dort den gesamten Datenlebenszyklus zuverlässiger betreiben kann — belassen Sie ihn andernorts, wenn Kubernetes nur eine weitere Control Plane hinzufügt, ohne Verfügbarkeit, Wiederherstellung oder Zuständigkeit zu verbessern.