Probe의 기본 개념
- pod 내부의 컨테이너가 살아있는지를 주기적으로 확인하는 기능
- 대표적으로 startupProbe(시작했는지), livenessProbe(살아있는지), readinessProbe(외부 트래픽을 받을 수 있는지)가 존재함
Probe의 기본 동작
- startup probe를 통해 App의 초기화가 끝났는 지를 확인 후에 liveness, readiness probe를 생성시켜 작동시킴
- 필요에 따라 3개를 분리해도 되고 안해도 됨
- 예를 들어 위처럼 probe가 살아있지만 user 초기화 시킬 동안 외부 api를 금지 시켜야하면 liveness와 readiness를 나눠야함
- liveness probe가 얼마나 실패하는 지를 보고 pod를 재시작 시킴
- 트래픽이 일시적으로 증가하는 등의 일시적인 장애 상황에서 liveness가 재가동을 시킨다면 원래 정상으로 돌아갔을 것을 에러를 내는 꼴이 될 수 있음
- 위와 같은 상황에서는
- readiness probe는 외부 api를 접근 금지 시켜 App의 부담을 감소 시키고 (그대로 둬도 됨)
- liveness probe는 실패하는데 걸리는 시간을 늘려서 Pod가 쉽게 재기동 되는 걸 방지해야함
출처: https://inf.run/7dm3q