Stateful 워크로드(데이터베이스, 큐, 클러스터형 저장소)는 안정적인 신원과 영속적인 스토리지를 필요로 한다 — Deployment가 제공하지 않는 것들이다. StatefulSet은 Pod에 안정적인 이름과 순서 있는 라이프사이클을 부여하고; **PersistentVolume (PV)**과 **PersistentVolumeClaim (PVC)**은 Pod보다 오래 지속되는 스토리지를 준다.
Deployment로는 왜 충분하지 않은가
Deployment의 Pod는 교체 가능하다: 무작위 이름(web-7f9-abc), 임의 순서, Pod별로
공유하는 것이 없음. stateless 앱에는 완벽하지만 — 데이터베이스 replica에는:
→ 안정적인 네트워크 신원 (peer가 찾을 수 있게: db-0, db-1, db-2)
→ 재시작/재스케줄에도 살아남는 자신만의 영속적 디스크
→ 순서 있고 통제된 시작/스케일링 (db-1 전에 db-0을 올림)
StatefulSet이 바로 이것들을 제공한다.
