🐳 Container/K8S

[K8s] Probe (Liveness, Readiness, Startup)

heywantodo 2024. 1. 15. 09:21
728x90
반응형

[K8s] Probe (Liveness, Readiness, Startup)

Probe

컨테이너의 상태를 확인하고 관리하는 데 사용되는 메커니즘이다.

probe는 Pod의 'spec' 섹션 내에 정의된다.

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: mycontainer
    image: myimage
    readinessProbe:
      httpGet:
        path: /healthz
        port: 8080
      initialDelaySeconds: 3
      periodSeconds: 5
    livenessProbe:
      httpGet:
        path: /healthz
        port: 8080
      initialDelaySeconds: 3
      periodSeconds: 5
    startupProbe:
      httpGet:
        path: /healthz
        port: 8080
      initialDelaySeconds: 5

 

Probe에는 liveness, readiness, startup 세 가지 유형이 있다. 

 

liveness Probe

컨테이너가 여전히 실행 중인지 확인

  • 컨테이너가 살아있음을 나타내는 조건이 충족되지 않으면 해당 컨테이너를 다시 시작하거나 관리자에게 경고를 보낼 수 있다.
  • 일반적으로 컨테이너 내부 상태를 확인하는 HTTP 요청이나 컨테이너가 수행하는 작업의 결과를 기반으로 할 수 있다.

 

Readiness Probe

컨테이너가 클라이언트 트래픽을 처리 할 준비가 되었는지 여부를 나타냄

  • Readiness Probe가 실패하면 해당 컨테이너는 서비스에서 제외되며, 새로운 연결을 받지 않고 기존 연결은 유지된다.
  • 컨테이너가 사용자 요청을 처리할 수 있는지 여부를 확인하는 데 사용된다.

 

Startup Probe

컨테이너가 초기화되고 서비스 할 준비가 되었는지를 확인하는데 사용

  • 일반적으로 Liveness Probe가 활성화되기 전에만 수행된다. 컨테이너가 기동 중에는 Liveness Probe로 대체된다.
  • 애플리케이션이 초기화되기까지 시간이 오래 걸리는 경우에 유용하다.
728x90
반응형