파드 헬스 체크
YAML
apiVersion: v1
kind: Pod
metadata:
name: webapl
spec:
containers:
- name: webapl
image: maho/webapl:0.1
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDealySeconds: 3
periodSeconds: 5
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 15
periodSeconds: 6
헬스 체크
- 활성 프로브 Liveness Probe
- 컨테이너의 애플리케이션이 정샂거으로 실행 중인 것을 검사한다. 검사에 실패하면 파드상의 컨테이너를 강제로 종료하고 재시작한다. 이 기능을 사용하기 위해서는 매니페스트에 명시적으로 설정해야 한다.
- 준비 상태 프로브 Readiness Probe
- 컨테이너의 애플리케이션이 요청을 받을 준비가 되었는지 아닌지를 검사한다. 검사에 실패하면 서비스에 의한 요청 트래픽 전송을 중지한다. 파드가 기동하고 나서 준비가 될 때까지 요청이 전송되지 않기 위해 사용한다. 이 기능을 사용하기 위해서는 매니패스트에 명시적으로 설정해야 한다.
프로브 대응 핸들러의 종류와 설명
| 핸들러 명칭 | 설명 |
|---|---|
| exec | 컨테이너 내 커맨드를 실행. Exit 코드 0으로 종료하면 진단 결과는 성공으로 간주되며, 그 외의 값은 실패로 간주 |
| tcpSocket | 지정한 TCP 포트번호로 연결할 수 있다면, 진단 결과는 성공으로 간주 |
| httpGet | 지정한 포트와 경로로 HTTP GET 요청이 정기적으로 실행. HTTP. 상태 코드가 200 이상 400 미만이면 성공으로 간주되고, 그 외에는 실패로 간주. 지정 포트가 열려 있지 않은 경우도 실패로 간주 |