728x90
반응형
SMALL
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈소스 플랫폼입니다. 쿠버네티스의 핵심 기능 중 하나는 컨테이너의 상태를 체크하는 프로브(probe)입니다. 이 중 Liveness, Readiness, 그리고 Startup 프로브에 대해 알아봅시다.
- Liveness Probe
- Liveness Probe는 컨테이너가 동작 중인지 확인하는 역할을 합니다. 만약 Liveness Probe가 실패하면, 쿠버네티스는 해당 컨테이너를 재시작합니다. 이는 무한 루프에 빠진 애플리케이션, 데드락(deadlock)에 빠진 상태 등, 복구가 불가능한 문제를 해결하기 위한 방법입니다.
- Readiness Probe
- Readiness Probe는 컨테이너가 요청을 처리할 준비가 되었는지 확인하는 역할을 합니다. 만약 Readiness Probe가 실패하면, 쿠버네티스는 해당 컨테이너로의 트래픽을 차단합니다. 이는 데이터베이스 연결이 끊긴 상황, 종속성이 있는 서비스가 아직 준비되지 않은 상황 등에서 유용합니다.
- Startup Probe
- Startup Probe는 애플리케이션이 시작하는 데 오랜 시간이 걸리는 경우 유용합니다. 이 Probe가 성공할 때까지 Liveness와 Readiness Probe는 비활성화됩니다. 이는 애플리케이션이 서비스를 준비하는 동안 재시작되거나 요청을 받지 않게 하는데 도움이 됩니다.
다음은 각 프로브의 동작을 나타내는 간단한 플로우차트입니다.
| 시작 --> | Startup Probe | --> 성공 --> | Readiness Probe | --> 성공 --> 트래픽 받기 가능
| --> 실패 --> 트래픽 받기 불가능
|
V
| Liveness Probe | --> 성공 --> 계속 실행
--> 실패 --> 컨테이너 재시작
728x90
반응형
LIST
'인프라' 카테고리의 다른 글
모놀리틱 아키텍처와 마이크로서비스 아키텍처(MSA)의 특징 비교 (0) | 2023.09.13 |
---|