podManagementPolicy — 순서를 지킬지, 속도를 낼지
Kubernetes StatefulSet podManagementPolicy 및 Pod Security Standards 공식 문서 종합 (웹 리서치, 2026) — Kubernetes 공식 문서(concepts/workloads/controllers/statefulset, concepts/security/pod-security-admission) Kubernetes 공식문서 StatefulSets
이 모듈을 다 읽으면
- OrderedReady(기본값)와 Parallel의 차이를 설명할 수 있다
- k8s-learn-03의 어떤 워크로드 특성이 OrderedReady를 요구하고, 어떤 특성이 Parallel을 써도 되는지 판단할 수 있다
k8s-learn-03에서 다룬 StatefulSet의 순서 있는 정체성(web-0, web-1...)을 전제로, 그 Pod들이 실제로 얼마나 순차적으로 생성·삭제될지를 통제하는 podManagementPolicy를 정리한다.
OrderedReady(기본값) — 앞 Pod가 Ready여야 다음이 시작된다
OrderedReady는 기본 정책으로, Pod를 순서대로(0, 1, 2...) 하나씩 생성하며 각 Pod가 실행 중(Running)이고 준비(Ready) 상태가 될 때까지 다음 Pod를 만들지 않는다 — 스케일다운 시에는 반대 순서(2, 1, 0...)로 하나씩 종료한다. 즉 n번 Pod는 n-1번 Pod가 Ready가 된 뒤에야 비로소 Ready가 될 수 있다. 데이터베이스처럼 엄격한 시작 순서가 필요한 애플리케이션에 필수적이다 — k8s-learn-03에서 다룬 '순서 있는 정체성'이 여기서는 '순서 있는 생성 절차'로도 이어지는 것이다.
핵심 포인트
- OrderedReady(기본값): Pod를 0,1,2... 순서로 하나씩 생성, 각 Pod가 Running+Ready 될 때까지 다음 안 만듦 — 스케일다운은 역순(2,1,0...)
- n번 Pod는 n-1번 Pod가 Ready여야 시작 가능 — 데이터베이스처럼 엄격한 시작 순서가 필요한 워크로드에 필수
Parallel — 순서 없이 한꺼번에 처리한다
Parallel 정책은 StatefulSet 컨트롤러에게 모든 Pod를 병렬로 실행·종료하라고 지시한다 — 어떤 Pod가 Running·Ready 상태가 되거나 완전히 종료될 때까지 기다리지 않고 다른 Pod를 바로 이어서 만들거나 지운다. 이는 Cassandra나 Elasticsearch처럼 모든 노드가 대등한(peer) 관계이고 특정 시작 순서가 필요 없는 워크로드에 유용하다 — 순서를 지킬 이유가 없다면 Parallel로 스케일링 속도 자체를 높일 수 있다.
핵심 포인트
- Parallel: 모든 Pod를 병렬로 생성·종료 — 다른 Pod의 Ready·종료 완료를 기다리지 않음
- Cassandra·Elasticsearch처럼 모든 노드가 대등(peer)해 특정 시작 순서가 필요 없는 워크로드에 유용 — 순서 제약이 없다면 스케일링 속도를 높일 수 있음