쿠버네티스
[1분 쿠버네티스] ReadinessProbe와 LivenessProbe
JDhyeok
2025. 3. 16. 22:44
1분 쿠버네티스
Pod의 ReadinessProbe와 LivenessProbe
ReadinessProbe
- 컨테이너가 트래픽을 받을 준비가 되었는지를 결정
- 새로 Pod가 구동일 될 때 컨테이너 내부의 App(ex. tomcat)이 준비(Ready)되었는지 확인
LivenessProbe
- 컨테이너를 언제 재시작해야 하는지 결정
- Pod는 Running 상태이더라도 App(ex. tomcat)이 장애 상황이 있을 수 있는데, 이 상황에 App을 지속적으로 확인하여 Pod를 재기동
공통
- 설정 내용은 HttpGet, exec, TÇPSocket으로 공통된 속성으로 해당 App에 대한 상태체크
readiness sample code (tcpSocket)
apiVersion: v1
kind: Pod
metadata:
name: goproxy
labels:
app: goproxy
spec:
containers:
- name: goproxy
image: registry.k8s.io/goproxy:0.1
ports:
- containerPort: 8080
readinessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8080
initialDelaySeconds: 15
periodSeconds: 10
http liveness sample code (HttpGet)
apiVersion: v1
kind: Pod
metadata:
labels:
test: liveness
name: liveness-http
spec:
containers:
- name: liveness
image: registry.k8s.io/e2e-test-images/agnhost:2.40
args:
- liveness
livenessProbe:
httpGet:
path: /healthz
port: 8080
httpHeaders:
- name: Custom-Header
value: Awesome
initialDelaySeconds: 3
periodSeconds: 3
반응형