probe
2023. 10. 25. 05:06ㆍk8s
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 |