stateful な workload(データベース、キュー、クラスタ化されたストア)は、安定した同一性と永続的なストレージを必要とします — Deployment が提供しないものです。StatefulSet は Pod に安定した名前と順序づけられたライフサイクルを与え、**PersistentVolume(PV)**と **PersistentVolumeClaim(PVC)**は Pod より長生きするストレージを与えます。
なぜ Deployment では足りないのか
Deployment Pods are INTERCHANGEABLE: random names (web-7f9-abc), any order, share
nothing per-Pod. That's perfect for stateless apps — but a database replica needs:
→ a STABLE network identity (so peers can find it: db-0, db-1, db-2)
→ its OWN durable disk that survives restarts/rescheduling
→ ORDERED, controlled startup/scaling (bring up db-0 before db-1)
StatefulSet provides exactly these.
