📅2026-02-12 작성·🔄2026-09-17 수정·⏱8분 읽기
문서 도구
Pod 라이프사이클 개요
종합 체크리스트 & 참고 자료
프로덕션 배포 전 체크리스트
Pod 헬스체크
| 항목 | 확인 사항 | 우선순위 |
|---|
| Startup Probe | 시작이 느린 앱(30초+)에 Startup Probe 설정 | 높음 |
| Liveness Probe | 외부 의존성 제외, 내부 상태만 확인 | 필수 |
| Readiness Probe | 외부 의존성 포함, 트래픽 수신 준비 확인 | 필수 |
| Probe 타이밍 | failureThreshold × periodSeconds가 적절한지 확인 | 중간 |
| Probe 경로 | /healthz (liveness), /ready (readiness) 분리 | 높음 |
| ALB 헬스체크 | Readiness Probe와 경로 일치 확인 | 높음 |
| Pod Readiness Gates | ALB/NLB 사용 시 활성화 | 중간 |
Graceful Shutdown
| 항목 | 확인 사항 | 우선순위 |
|---|
| preStop Hook | sleep 5 추가로 Endpoint 제거 대기 | 필수 |
| SIGTERM 처리 | 애플리케이션에 SIGTERM 핸들러 구현 | 필수 |
| terminationGracePeriodSeconds | preStop + Shutdown 시간 고려하여 설정 (30-120초) | 필수 |
| Connection Draining | HTTP Keep-Alive, WebSocket 연결 정리 로직 | 높음 |
| 데이터 정리 | DB 연결, 메시지 큐, 파일 핸들 정리 | 높음 |
| Readiness 실패 | Shutdown 시작 시 Readiness Probe 실패 응답 | 중간 |
리소스 및 이미지
| 항목 | 확인 사항 | 우선순위 |
|---|
| 리소스 requests/limits | CPU/메모리 requests 설정 (HPA, VPA 기준) | 필수 |
| 이미지 크기 | 멀티스테이지 빌드로 최소화 (100MB 이하 목표) | 중간 |
| 이미지 태그 | latest 태그 사용 금지, semantic versioning 사용 | 필수 |
| 보안 스캔 | Trivy, Grype로 CVE 스캔 | 높음 |
| non-root 사용자 | 컨테이너를 non-root로 실행 | 높음 |
고가용성
| 항목 | 확인 사항 | 우선순위 |
|---|
| PodDisruptionBudget | minAvailable 또는 maxUnavailable 설정 | 필수 |
| Topology Spread | Multi-AZ 분산 설정 | 높음 |
| Replica 수 | 최소 2개 이상 (프로덕션 3개+) | 필수 |
| Affinity/Anti-Affinity | 동일 노드 배치 방지 | 중간 |
관련 문서