E-initialDelaySeconds가 아니라 스타트업 프로브가 필요한 이유

개요

나는 처음에 스타트업 프로브는 실패가 기본이고 성공일 때 작동을 중지한다고 생각했다.
그래야 프로세스의 확실한 시작을 보장할 수 있으니까.
그런데 실상은 실패할 때마다 컨테이너를 재시작해버린다..
그러면 라이브네스 프로브에 그냥 initialDelaySeconds를 길게 설정하면 그만 아닌가?

스타트업이 필요한 이유

Pasted image 20240825191619.png
상황에서 유리하다.
위의 사진에서 앱이 최대 2분 안에는 시작할 것이라고 예상하고 있다고 쳐보자.
그럼 그냥 120초를 기다려버릴 것이냐?
운이 좋아 앱이 빨리 작동한다면 더 빨리 준비 상태라고 칠 수도 있지 않은가.
이때 위처럼 failureThreshold를 높이 걸고 주기를 주는 것이다.
이러면 운 좋게 110초에 시작한 앱의 상태를 감지하고 바로 파드가 정상적으로 동작할 수 있다.

참고