////

K8s 헬스 프로브 3종 선택 기준 (readiness/liveness/startup)

K8s 헬스 프로브 3종은 실패 시 동작이 다르다: liveness 는 컨테이너 재시작, readiness 는 Service endpoint/트래픽에서 제외, startup 은 느린 초기화 동안 liveness/readiness 판단을 지연시키는 용도다. 단, startupProbe가 failureThreshold × periodSeconds로 정한 허용 시간 안에 성공하지 못하면 kubelet은 컨테이너를 실패로 보고 재시작할 수 있다. liveness를 과도

////

Summary#

K8s 헬스 프로브 3종은 실패 시 동작이 다르다: liveness는 컨테이너 재시작, readiness는 Service endpoint/트래픽에서 제외, startup은 느린 초기화 동안 liveness/readiness 판단을 지연시키는 용도다. 단, startupProbe가 failureThreshold × periodSeconds로 정한 허용 시간 안에 성공하지 못하면 kubelet은 컨테이너를 실패로 보고 재시작할 수 있다. liveness를 과도하게 민감하게 잡거나 외부 의존성(DB 등)을 포함하면 일시적 지연이 재시작 루프를 유발할 수 있다.

Outcome#

프로브 실패 시 동작 언제 사용 주의
liveness 컨테이너 재시작 교착 상태·완전 멈춤·복구 불가능 상태 감지 외부 의존성 체크 금지, 임계값 보수적으로 설정
readiness Service endpoint에서 제거되어 트래픽 차단 초기화 중, DB 연결 대기, 배치/백프레셔 중 재시작 없음, 트래픽 제어 용도
startup 성공 전까지 liveness/readiness 판단을 지연한다. 임계 실패 횟수를 넘으면 컨테이너가 재시작될 수 있다 느린 앱, JVM 워밍업, 큰 캐시 로딩 failureThreshold × periodSeconds를 최대 초기화 허용 시간으로 설계

FastAPI 실전 예#

livenessProbe:
  httpGet:
    path: /health/live   # 프로세스 생존만 확인: 단순 200 권장
    port: 8000
  initialDelaySeconds: 30
  periodSeconds: 10
  failureThreshold: 3    # 30초 연속 실패 시 재시작

readinessProbe:
  httpGet:
    path: /health/ready  # DB 연결·캐시 준비 등 트래픽 수용 가능성 확인
    port: 8000
  periodSeconds: 5
  failureThreshold: 2

startupProbe:
  httpGet:
    path: /health/live   # 보통 liveness와 같은 가벼운 체크를 재사용 가능
    port: 8000
  failureThreshold: 30   # 최대 300초 (30 × 10s) 대기
  periodSeconds: 10

Key Points#

  • liveness probe에 DB 쿼리 포함 금지: DB 지연이 애플리케이션 재시작 루프를 유발할 수 있다.
  • readiness failure는 재시작하지 않는다: Pod는 실행 상태로 남고 Service endpoint/로드밸런싱 대상에서만 제외된다.
  • startup probe는 느린 시작을 위한 안전장치: 성공 전까지 liveness/readiness 실패 판정을 막아 initialDelaySeconds 추측을 줄인다.
  • startup probe는 무한 대기가 아니다: failureThreshold × periodSeconds 안에 성공하지 못하면 컨테이너가 실패 처리되어 재시작 루프가 생길 수 있다.
  • 엔드포인트는 보통 /health/live(간단), /health/ready(의존성/준비 상태) 2개면 충분하다. /health/startup을 별도로 둘 수는 있지만 필수는 아니며, startupProbe는 /health/live 같은 가벼운 체크를 재사용해도 된다.

Caveats#

  • readiness는 트래픽 차단 장치이지 전체 배포의 무중단을 단독 보장하지 않는다.
  • Deployment 롤링 업데이트의 가용성은 주로 maxUnavailable, maxSurge, readiness probe, minReadySeconds 조합으로 설계한다.
  • PodDisruptionBudget(PDB)은 노드 드레인 등 voluntary disruption에 대한 안전망으로 유용하지만, readiness failure 자체나 Deployment rollout 가용성을 단독으로 해결하는 장치는 아니다.
  • liveness failureThreshold/timeoutSeconds가 너무 낮으면 순간적인 CPU 폭주, GC pause, 네트워크 지연에도 정상 Pod가 재시작될 수 있다.
  • personal_vault/projects/gemma-agent/k8s-liveness-readiness-probes/evidence.md: readiness는 Pod IP를 Service endpoint에서 제거하고, liveness는 컨테이너 재시작을 유발한다는 동일 핵심을 설명한다.
  • personal_vault/knowledge/dev/kubernetes-advanced.md: PDB, rollout, 운영 안정성 관련 Kubernetes 운영 맥락을 제공한다.
  • personal_vault/projects/ops/librarian/capsules/Kubernetes Probe Failure Modes and Rollout Design.md: startupProbe가 허용 시간 안에 성공하지 못하면 컨테이너 재시작으로 이어질 수 있음을 보강 근거로 제공한다.

Sagwan Revalidation 2026-06-08T03:33:24Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 practice가 현재 문서 기준으로도 유효하다.

Sagwan Revalidation 2026-06-09T03:37:45Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 현재 practice와 Kubernetes 문서에 부합함

Sagwan Revalidation 2026-06-10T09:07:15Z#

  • verdict: ok
  • note: 프로브별 동작과 권장 기준이 현재 Kubernetes practice와 일치한다.

Sagwan Revalidation 2026-06-11T09:23:35Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장 관행이 현재 문서·실무와 부합한다.

Sagwan Revalidation 2026-06-12T09:40:51Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-06-13T09:58:19Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 현재 문서·실무와 대체로 일치함

Sagwan Revalidation 2026-06-14T10:49:14Z#

  • verdict: ok
  • note: K8s probe 동작·권장안이 현재 practice와 문서 기준에 부합한다.

Sagwan Revalidation 2026-06-15T11:30:10Z#

  • verdict: ok
  • note: K8s 프로브 동작·권장 기준이 현재 practice와도 일치한다.

Sagwan Revalidation 2026-06-16T11:41:24Z#

  • verdict: ok
  • note: K8s probe 동작과 권장안이 현재 문서·실무와 일치함

Sagwan Revalidation 2026-06-17T11:56:15Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 기준이 현재 문서·실무와 대체로 일치함

Sagwan Revalidation 2026-06-18T12:01:22Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 현재 practice와 일치한다.

Sagwan Revalidation 2026-06-19T13:57:23Z#

  • verdict: ok
  • note: Kubernetes probe 동작과 권장 관행이 현재도 유효하다.

Sagwan Revalidation 2026-06-20T14:09:37Z#

  • verdict: ok
  • note: Kubernetes probe 동작과 권장 practice가 현재도 유효하다.

Sagwan Revalidation 2026-06-21T14:57:49Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 practice가 현재도 유효해 변경 불필요.

Sagwan Revalidation 2026-06-22T15:09:38Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-06-23T15:37:28Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-06-24T16:23:29Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-06-25T17:56:29Z#

  • verdict: ok
  • note: K8s probe 동작과 권장안이 현재 관행과 문서 기준에 부합함

Sagwan Revalidation 2026-06-26T21:35:22Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 최신 practice와 일치해 변경 불필요.

Sagwan Revalidation 2026-06-27T23:57:31Z#

  • verdict: ok
  • note: 프로브별 동작·권장안이 최신 Kubernetes practice와 부합한다.

Sagwan Revalidation 2026-06-29T00:34:58Z#

  • verdict: ok
  • note: K8s probe 동작과 권장안이 현재 문서·실무와 부합한다.

Sagwan Revalidation 2026-06-30T00:42:27Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 현재 관행과 맞아 재사용 가능함

Sagwan Revalidation 2026-07-01T07:09:43Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 분리 기준은 현재 practice와도 부합한다.

Sagwan Revalidation 2026-07-02T17:48:38Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 분리 기준이 현재 문서·실무와 부합한다.

Sagwan Revalidation 2026-07-04T06:37:11Z#

  • verdict: ok
  • note: K8s probe 동작과 권장안이 최신 practice와 일치해 변경 불필요.

Sagwan Revalidation 2026-07-05T09:02:20Z#

  • verdict: ok
  • note: Kubernetes 프로브 동작과 권장 practice가 현재 문서와 일치합니다.

Sagwan Revalidation 2026-07-06T15:26:46Z#

  • verdict: ok
  • note: 현재 Kubernetes probe 동작과 권장 practice에 부합해 재사용 가능함

Sagwan Revalidation 2026-07-07T21:21:00Z#

  • verdict: ok
  • note: K8s probe 동작과 권장 practice 모두 현재 기준으로도 유효함

Sagwan Revalidation 2026-07-09T18:51:29Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장 practice 모두 현재도 유효하다.

Sagwan Revalidation 2026-07-11T11:06:22Z#

  • verdict: ok
  • note: 현행 Kubernetes probe 동작과 권장 관행에 부합해 변경 불필요.

Sagwan Revalidation 2026-07-13T05:55:31Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장 practice가 현재 문서 기준과 부합한다.

Sagwan Revalidation 2026-07-15T04:55:02Z#

  • verdict: ok
  • note: 프로브별 동작·주의점이 현재 Kubernetes practice와 일치함

Sagwan Revalidation 2026-07-17T05:30:42Z#

  • verdict: ok
  • note: Kubernetes probe 동작·권장 기준이 현재 문서와 실무에 부합한다.

Sagwan Revalidation 2026-07-19T07:19:29Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장 practice가 현재도 유효하다.

Sagwan Revalidation 2026-07-21T08:26:46Z#

  • verdict: ok
  • note: K8s 프로브 동작과 권장안이 현재 practice와 일치한다.

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1