Part IV. 워크로드
Kubernetes에서 애플리케이션은 컨테이너가 아니라 Pod 단위로 배포되고, Pod는 다시 목적에 맞는 controller의 관리를 받는다. 항상 실행 중이어야 하는 무상태 서비스는 Deployment가, 인스턴스마다 고유한 이름과 데이터가 필요한 워크로드는 StatefulSet이, 노드마다 하나씩 상주해야 하는 에이전트는 DaemonSet이, 끝이 있는 배치 작업은 Job과 CronJob이 맡는다. 어떤 controller를 고르든 원리는 같다. 원하는 상태를 선언하면 controller가 현재 상태를 그쪽으로 계속 조정한다. 이 Part는 Pod의 내부 구조에서 출발해, 각 controller가 무엇을 보장하고 무엇을 보장하지 않는지를 따라간다.
- 4.1 Pod — pause·init·sidecar 컨테이너
- 4.2 Pod 생명주기와 프로브 — phase·probe·graceful 종료
- 4.3 ReplicaSet과 Deployment — 유지 루프·롤링 업데이트·롤백
- 4.4 StatefulSet — ordinal·headless·PVC 고정
- 4.5 DaemonSet — 노드당 하나·toleration·업데이트
- 4.6 Job과 CronJob — completions·재시도·스케줄