probe

2023. 10. 25. 05:06k8s

Probe

Kubernetes에서 Probe(프로브)는 컨테이너의 상태를 모니터하고 조정하기 위한 중요한 메커니즘이다. Probe는 Kubernetes에서 어플리케이션의 가용성과 안정성을 유지하는 데 사용된다. Probe는 다양한 방식으로 구성될 수 있으며, 주로 HTTP 요청, TCP 소켓 연결 또는 명령 실행을 통해 어플리케이션 상태를 확인한다.

 

 

Probe의 세 가지 유형
  • Liveness Probe (생존성 프로브) : Liveness Probe는 어플리케이션 컨테이너가 현재 실행 중인지 확인하는 데 사용된다. 이 Probe가 실패하면 Kubernetes는 컨테이너를 다시 시작하거나 다른 조치를 취할 수 있다. 예를 들어, 어플리케이션이 먹통이 되었을 때 다시 시작하도록 설정할 수 있다.
  • Readiness Probe (준비도 프로브) : Readiness Probe는 어플리케이션 컨테이너가 요청을 처리할 준비가 되었는지를 확인하는 데 사용된다. 어플리케이션이 요청을 처리할 수 없는 경우, 이 Probe가 실패하면 Kubernetes는 해당 컨테이너로의 트래픽을 중단하고 다른 건강한 컨테이너로 트래픽을 라우팅할 수 있다. 이를 통해 로드 밸런싱과 롤링 업데이트를 효과적으로 관리할 수 있다.
  • Startup Probe (시작 프로브) : Kubernetes 1.18 버전 이후에 추가된 기능으로, 어플리케이션 컨테이너가 초기 시작 시에 준비되는 것을 확인하기 위해 사용된다. 어플리케이션이 초기화되는 동안 사용될 수 있으며, 일정 시간 동안 프로브가 성공하지 못하면 컨테이너가 실패로 표시되고 재시작된다.

 

 

Probe 설정 예시
livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 3
  periodSeconds: 3
readinessProbe:
  httpGet:
    path: /readiness
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 5
startupProbe:
  httpGet:
    path: /startup
    port: 8080
    initialDelaySeconds: 10

Probe 설정은 Pod의 YAML 파일에 정의된다.

'k8s' 카테고리의 다른 글

클러스터에 tomcat 배포  (0) 2023.10.26
클러스터 생성  (0) 2023.10.25
docker와 kubernetes의 차이점  (0) 2023.10.24
Ingress  (0) 2023.10.24
vote  (0) 2023.10.24