Zurück zur Übersicht

Begriff

StatefulSet (K8s)

Kubernetes Architecture S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Deployments sind für Webserver (Rinder). Alle Pods (web-x8z, web-9a1) sind gleich. Wenn einer stirbt, startet ein neuer. Egal welcher. Datenbanken (Postgres, Mongo, Kafka) sind wie Haustiere (Pets). Sie haben Namen (mongo-0, mongo-1). Sie haben festen Wohnsitz (Disk). mongo-0 ist der Master. mongo-1 ist der Slave. Du kannst sie nicht beliebig tauschen. Wenn mongo-0 stirbt, muss er als mongo-0 wiederkommen (mit derselben Disk!). Das StatefulSet garantiert diese Ordnung. Es startet sie auch nacheinander: Erst 0, dann 1, dann 2.

Merksatz: Ein Kubernetes-Controller für Anwendungen, die eine stabile Netzwerkidentität, persistenten Speicher und eine geordnete Bereitstellung/Skalierung benötigen.


Quick-Check

  1. Warum "Pet Set"?
    Der alte Name in Alpha Versionen. Anspielung auf "Cattle vs Pets". Deployments sind Cattle (austauschbar). StatefulSets sind Pets (einzigartig, müssen gepflegt werden).
  2. Update Strategie?
    OnDelete: K8s macht gar nichts, wenn du das Image änderst. Du musst die Pods manuell löschen. RollingUpdate: K8s löscht erst Index N, wartet, dann Index N-1. Das ist sicherer für Leader Election.
  3. PVC Retain?
    Wenn du das StatefulSet löschst, werden die PVCs nicht gelöscht. K8s sagt: "Daten sind heilig". Du musst die 50 PVCs manuell löschen, wenn du aufräumen willst.