StatefulSet (Kubernetes)
Ein StatefulSet ist ein spezieller Controller in KubernetesKubernetes Kubernetes (kurz: K8s) ist eine Open-Source-Plattform zur automatisierten Bereitstellung, Skalierung und Verwaltung von Containern. Sie wur... Mehr, der für die Verwaltung zustandsbehafteter Applikationen zuständig ist. Im Gegensatz zu einem DeploymentDeployment (Kubernetes) Ein Deployment ist einer der zentralen Controller in Kubernetes, der für das Verwalten und Skalieren von Pods zuständig ist.... Mehr bietet ein StatefulSet stabile Identitäten für Pods, persistente Speicherbindungen und eine geordnete Start- und Stop-Reihenfolge.
StatefulSets sind ideal für Anwendungen, bei denen der Zustand einzelner Instanzen erhalten bleiben muss – z. B. Datenbanken, Messaging-Systeme oder Clustered Services wie Redis, Kafka oder Elasticsearch. Jeder PodPod (Kubernetes) Ein Pod ist die kleinste ausführbare Einheit in Kubernetes. Er besteht aus einem oder mehreren Containern, die sich dieselbe Netzwer... Mehr erhält einen eindeutigen Namen (z. B. db-0
, db-1
), der sich beim Restart nicht ändert.
Typische Merkmale:
- Feste Pod-Identitäten (DNSDNS (Domain Name System) Das Domain Name System (DNS) ist ein zentraler Dienst im Internet, der für die Übersetzung von menschenlesbaren Domainnamen... Mehr, Hostname, Netzwerkadresse)
- Jedem Pod wird ein eigenes PersistentVolumePersistentVolume (Kubernetes) Ein PersistentVolume (PV) ist eine Kubernetes-Ressource, die dauerhaften Speicherplatz für Pods bereitstellt – unabh... Mehr dauerhaft zugeordnet
- Pods starten und beenden in definierter Reihenfolge
- Geeignet für zustandsbehaftete oder Cluster-fähige Anwendungen
Vorteile von StatefulSets:
- Verlässlicher Betrieb von Datenbanken und Stateful Services
- Stabilität bei Failover oder Reboots
- Integration mit Storage-Klassen und VolumeClaims
Typische Anwendungsfälle:
- MySQL, PostgreSQL, MongoDB, Cassandra
- Kafka, RabbitMQ, Elasticsearch, Redis
- Applikationen mit replizierten Datenbanken
Verwandte Begriffe:
Deployment, Pod, PersistentVolume, Kubernetes, VolumeClaim, ClusterCluster (Kubernetes) Ein Kubernetes-Cluster ist die Gesamtheit aller Nodes (Rechner), auf denen Container-basierte Anwendungen laufen. Er besteht aus ... Mehr, StorageClassStorageClass (Kubernetes) Eine StorageClass ist eine Kubernetes-Ressource, die beschreibt, wie und mit welchen Parametern PersistentVolumes automatisc... Mehr, Deployment vs StatefulSetDeployment vs StatefulSet Deployments und StatefulSets sind zwei verschiedene Controller in Kubernetes, die zur Verwaltung von Pods und deren Lifecycl... Mehr