EKS Pod 헬스체크 & 라이프사이클 관리
📅 작성일: 2026-02-12 | 수정일: 2026-02-14 | ⏱️ 읽는 시간: 약 48분
📌 기준 환경: EKS 1.30+, Kubernetes 1.30+, AWS Load Balancer Controller v2.7+
1. 개요
Pod의 헬스체크와 라이프사이클 관리는 서비스 안정성과 가용성의 핵심입니다. 적절한 Probe 설정과 Graceful Shutdown 구현은 다음을 보장합니다:
- 무중단 배포: 롤링 업데이트 시 트래픽 유실 방지
- 빠른 장애 감지: 비정상 Pod 자동 격리 및 재시작
- 리소스 최적화: 느린 시작 앱의 조기 재시작 방지
- 데이터 무결성: 종료 시 진행 중인 요청 안전하게 완료
본 문서는 Kubernetes Probe의 동작 원리부터 언어별 Graceful Shutdown 구현, Init Container 활용, 컨테이너 이미지 최적화까지 Pod 라이프사이클 전체를 다룹니다.
관련 문서 참조
- Probe 디버깅: EKS 장애 진단 및 대응 가이드의 "Probe 디버깅 및 Best Practices" 섹션
- 고가용성 설계: EKS 고가용성 아키텍처 가이드의 "Graceful Shutdown", "PDB", "Pod Readiness Gates" 섹션
2. Kubernetes Probe 심층 가이드
2.1 세 가지 Probe 유형과 동작 원리
Kubernetes는 세 가지 유형의 Probe를 제공하여 Pod의 상태를 모니터링합니다.
| Probe 유형 | 목적 | 실패 시 동작 | 활성화 타이밍 |
|---|---|---|---|
| Startup Probe | 애플리케이션 초기화 완료 확인 | Pod 재시작 (failureThreshold 도달 시) | Pod 시작 직후 |
| Liveness Probe | 애플리케이션 데드락/교착 상태 감지 | 컨테이너 재시작 | Startup Probe 성공 후 |
| Readiness Probe | 트래픽 수신 준비 상태 확인 | Service Endpoint에서 제거 (재시작 없음) | Startup Probe 성공 후 |