• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

readinessProbe와 startupProbe의 차이점

21.02.22 11:06 작성 조회수 2.03k

1

강의에서는 startupProbe에 대한 설명은 따로 없어서 질문드립니다. 쿠버네티스 문서에 보면 livenessProbe와 startupProbe를 아래와 같이 정의하고 있습니다

  • livenessProbe: 컨테이너가 동작 중인지 여부를 나타낸다. 만약 활성 프로브(liveness probe)에 실패한다면, kubelet은 컨테이너를 죽이고, 해당 컨테이너는 재시작 정책의 대상이 된다. 만약 컨테이너가 활성 프로브를 제공하지 않는 경우, 기본 상태는 Success이다.
  • startupProbe: 컨테이너 내의 애플리케이션이 시작되었는지를 나타낸다. 스타트업 프로브(startup probe)가 주어진 경우, 성공할 때까지 다른 나머지 프로브는 활성화되지 않는다. 만약 스타트업 프로브가 실패하면, kubelet이 컨테이너를 죽이고, 컨테이너는 재시작 정책에 따라 처리된다. 컨테이너에 스타트업 프로브가 없는 경우, 기본 상태는 Success이다.

강사님께서는 livenessProbe를 App의 장애 상황을 감지해주는 역할을 한다고 하셨는데, 이 의미가 컨테이너의 동작여부를 판단해주는 역할을 하는 것과 같은 의미인가요?

그렇다면 startupProbe는 단순히 App이 시작되었는지만 판단해주는 프로브인지 궁금합니다

답변 2

·

답변을 작성해보세요.

1

readinessProbe 언제 트래픽을 보낼지에 대한 설정이고

livenessProbe는 app이 잘 살아 있는지에 대한 각각 다른 포인트를 체크하기 위한 설정입니다.

startupProbe는 App이 기동이 됐는지를 판단하기 위함인데.

App 기동이 오래 걸리는 상황일때 livenessProbe가 체크가되면 무한정 pod restart를 하게되고 

readinessProbe역시 App기동이 되기 전에 활성화가 되면 트래픽이 실패가 나게되요.

그래서 이문제를 startupProbe가 해결해 줄수 있고.

startupProbe를 세팅하게 되면, startupProbe가 OK되기 전에는 readinessProbe와 livenessProbe가 돌지 않기 때문에 더 안정적으로 Probe 세팅을 할 수 있게 됩니다.

0

minki lee님의 프로필

minki lee

질문자

2021.02.22

답변 감사합니다. :)

3개의 프로브를 전부 돌리는 경우 startupProbe가 OK를 해줘야 나머지 프로브들이 돌아가는거면 startupProbe도 중요한 역할을 하는 프로브였네요