Kubernetes에서 컨테이너 상태를 확인하고, 장애에 자동 대응하기 위해 startupProbe, livenessProbe, readinessProbe를 설정할 수 있다.
각 probe는 시점과 목적이 다르며, 올바르게 설정하면 서비스의 안정성과 신뢰성을 높일 수 있다.
startupProbelivenessProbe와 readinessProbe는 대기 상태.startupProbe:
httpGet:
path: "/ready"
port: 8080
periodSeconds: 10
failureThreshold: 10 # 최대 100초 동안 실패 허용
livenessProbelivenessProbe:
httpGet:
path: "/ready"
port: 8080
periodSeconds: 10
failureThreshold: 2 # 2번 실패하면 재시작
readinessProbereadinessProbe:
httpGet:
path: "/ready"
port: 8080
periodSeconds: 10
failureThreshold: 2 # 2번 실패하면 트래픽 제외
startupProbe 실패 중 → livenessProbe 및 readinessProbe는 실행되지 않음startupProbe 성공 → 애플리케이션 기동 완료 → 나머지 probe 활성화readinessProbe 실패 → 트래픽 제외, Pod는 유지livenessProbe 실패 → Pod 재시작| Probe | 목적 | 실패 시 행동 |
|---|---|---|
startupProbe | 앱 기동 확인 | 컨테이너 종료/재시작 |
livenessProbe | 앱이 살아있는지 확인 | 컨테이너 재시작 |
readinessProbe | 트래픽 받을 준비 되었는지 확인 | 트래픽 라우팅에서 제외됨 |

출처 - 인프런 : 쿠버네티스 어나더 클래스 - 지상편