Pod의 Probe 종류
livenessProbe
컨테이너가 동작 중인지 여부를 나타낸다. 만약 활성 프로브(liveness probe)에 실패한다면, kubelet은 컨테이너를 죽이고, 해당 컨테이너는 재시작 정책의 대상이 된다. 만약 컨테이너가 활성 프로브를 제공하지 않는 경우, 기본 상태는 Success 이다.
readinessProbe
컨테이너가 요청을 처리할 준비가 되었는지 여부를 나타낸다. 만약 준비성 프로브(readiness probe)가 실패한다면, 엔드포인트 컨트롤러는 파드에 연관된 모든 서비스들의 엔드포인트에서 파드의 IP주소를 제거한다. 준비성 프로브의 초기 지연 이전의 기본 상태는 Failure 이다. 만약 컨테이너가 준비성 프로브를 지원하지 않는다면, 기본 상태는 Success 이다.
startupProbe
컨테이너 내의 애플리케이션이 시작되었는지를 나타낸다. 스타트업 프로브(startup probe)가 주어진 경우, 성공할 때까지 다른 나머지 프로브는 활성화되지 않는다. 만약 스타트업 프로브가 실패하면, kubelet이 컨테이너를 죽이고, 컨테이너는 재시작 정책에 따라 처리된다. 컨테이너에 스타트업 프로브가 없는 경우, 기본 상태는 Success 이다.
튜닝
→ 어플리케이션 성공여부가 우선 판가름되어야 Readiness/Liveness 가 수행되므로 우선 적용이 필요함
StartupProbe = 초기 지연 시간(initialDelaySeconds) + 실패 임계 값(failureThreshold) * 대기 초(periodSeconds)
- 대기 초(periodSeconds) : 대기초 만큼 쉬었다가 프로브 실행
- 실패 임계 값(failureThreshold) : 최대 실패 허용 횟수
- 초기 지연 시간(initialDelaySeconds) : 컨테이너가 시작되고 liveness/readness probe가 실행되는데 까지 유예시간
컨테이너가 위 시간 이후에 기동된다면, 스타트업 프로브가 활성화 프로브와 같은 엔드포인트를 확인하도록 지정해야 한다.
'PaaS > Kubernetes' 카테고리의 다른 글
KubeEdge에 대해서 (0) | 2022.05.18 |
---|---|
토스뱅크의 쿠버네티스 기반 CI/CD 환경 (0) | 2022.05.15 |
(Kubernetes) Istio을 리소스에 주입시키면 추가되는 설정들 (0) | 2022.04.18 |
(Kubernetes) Ingress Class Object에 대해서 (0) | 2022.04.18 |
(Kubernetes) Platform9의 PMK 란? (0) | 2021.12.18 |