토픽 88 / 107·인프라 및 운영
Kubernetes Deployment
Kubernetes Deployment
Pod의 선언적 업데이트와 관리를 담당하는 워크로드 리소스
특징: 롤링 업데이트, 롤백, 스케일링, 자가 치유(Self-healing)
동작원리: Deployment → ReplicaSet 생성/관리 → Pod 유지, 업데이트 시 새 ReplicaSet으로 점진 전환
배포 전략
- •Rolling Update(기본): 점진적 교체, maxSurge(추가 생성/25%), maxUnavailable(중단 허용/25%), 무중단 배포
- •Recreate: 전체 종료 후 재생성, 다운타임 발생, 구/신 버전 공존 불가 시 사용
롤백: 이전 ReplicaSet 보존, kubectl rollout undo, revisionHistoryLimit(기본 10)
헬스체크(Probe)
- •Liveness: 생존 확인, 실패 시 재시작(Deadlock 감지)
- •Readiness: 트래픽 수신 가능 확인, 실패 시 Endpoints 제거
- •Startup: 시작 완료 확인, 완료 전 Liveness/Readiness 비활성화(느린 초기화)
체크 방법: httpGet, tcpSocket, exec, grpc
스케일링: kubectl scale 또는 HPA(Horizontal Pod Autoscaler)
비교: Deployment(무상태/롤링업데이트) vs StatefulSet(상태유지/순서보장/고정ID)
연관: Kubernetes, Pod, ReplicaSet, HPA