
데브옵스
kubernetes Pod의 진단을 담당하는 서비스 : probe
두줄요약
Kubernetes Probe의 핸들러와 liveness·readiness·startup Probe 역할을 설명했습니다.\nRolling Update에서 readinessProbe로 다운타임을 막는 방법을 다뤘습니다.
구조와 흐름
- kubelet이 컨테이너 핸들러를 주기적으로 호출하는 진단 메커니즘
- ExecAction, TCPSocketAction, HTTPGetAction 기반의 상태 확인
- Success, Failure, Unknown 결과에 따른 컨테이너 상태 판단
선택 이유
- livenessProbe를 통한 비정상 컨테이너 종료 및 재시작 정책 연계
- readinessProbe를 통한 준비 완료 전 트래픽 차단과 서비스 엔드포인트 제외
- startupProbe를 통한 기동 완료 전 liveness·readinessProbe 비활성화
성능/운영 포인트
- Rolling Update 중 신규 Pod의 애플리케이션 기동 전 기존 Pod 종료로 발생하는 다운타임 문제
- readinessProbe의 HTTP 상태 코드 확인 후 준비된 Pod에만 트래픽 라우팅
- 초기 지연, 검사 주기, 실패 임계값 조정으로 느린 기동과 데드락 위험 관리
주의할 점
- 프로세스 종료만으로는 livenessProbe 필수 조건이 아니며 재시작 정책과 함께 판단
- Pod 삭제 시 요청 드레인을 위한 readinessProbe 별도 구성 불필요
- readinessProbe 실패 시 비정상 Pod로의 라우팅 제외


