[쿠버네티스] Probe (TS러버)
해당 블로그는 [쿠버네티스 어나더 클래스] 강의에 일부 내용입니다. 복습을 위한 자료 입니다.
강의 링크 :https://inf.run/f2xSR
1. Pod 상태를 자동으로 점검하는 기능 - Probe
쿠버네티스는 애플리케이션의 상태 확인과 복구를 자동화하기 위해 Probe 기능을 제공합니다.
이 기능은 애플리케이션이 느리게 시작되거나 일시적으로 장애가 발생해도 자동으로 대처할 수 있도록 도와줍니다.
Probe는 총 3가지로 구성됩니다:
Startup Probe: 애플리케이션 기동 확인 (초기화 시간 보호)Readiness Probe: 트래픽 수신 준비 여부 확인Liveness Probe: 애플리케이션이 살아있는지 감시
각 Probe는 설정된 엔드포인트(/health, /ready 등)를 주기적으로 호출하여 상태를 점검하며, 실패 시에는 자동으로 트래픽 차단, 컨테이너 재시작 등의 액션이 수행됩니다.
2. Pod 내에서 Probe가 동작하는 흐름
Pod가 생성되면 가장 먼저
Startup Probe가 동작하여 애플리케이션이 정상 기동 중인지 판단합니다.ex) Spring Boot처럼 시작이 느린 앱도 무작정 재시작되지 않도록 보호
Startup Probe가 성공하면,
Readiness,LivenessProbe가 동시에 시작됩니다.Readiness Probe는 Service 대상 등록 여부에 영향을 주며, 실패 시 트래픽 차단만 수행됩니다.Liveness Probe는 실제 컨테이너 재시작 조건이 되는 핵심 Probe입니다.
Probe는 HTTP 요청 또는 TCP 연결, 커맨드 실행 방식 중 선택할 수 있으며, periodSeconds, failureThreshold 등의 옵션을 통해 감지 민감도를 조절할 수 있습니다.
3. Probe 적용 예시 (YAML)
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /ready
port: 8080
periodSeconds: 5
failureThreshold: 2
startupProbe:
httpGet:
path: /startup
port: 8080
periodSeconds: 10
failureThreshold: 10startupProbe: 10초마다/startup체크 → 최대 100초까지 실패 허용readinessProbe:/ready실패 시 트래픽 차단livenessProbe:/health실패 시 컨테이너 자동 재시작
4. 정리
과거에는 애플리케이션이 정상적으로 동작하지 않아도 운영자가 수동으로 조치해야 했습니다.
하지만 Probe는 애플리케이션 상태 판단 → 트래픽 차단 또는 자동 복구의 흐름을 자동화함으로써:
운영 복잡도를 줄이고
무중단 배포와 장애 자가 복구를 실현하며
회복탄력성 있는 시스템을 구축할 수 있게 해줍니다.
Probe는 단순한 기능이 아니라 쿠버네티스가 추구하는 "자율 복구 기반 인프라"의 핵심 구성 요소입니다.
댓글을 작성해보세요.