반응형
파드의 라이프 사이클 관리를 위해, liveness probe와 readiness probe 를 사용할 수 있다.
여기서는 readiness probe를 사용하여 실제로 파드를 이용할 수 있는지 확인하는 실습을 수행한다.
시나리오는 다음과 같다.
- A 파드를 구동하면서 B 파드가 구동되길 기다리게 설정
- A 파드 구동후 대기
- B 파트 구동
- A 파드 Readiness probe적용 확인
먼저 A파드는 아래와 같이 설정한다.
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: pod-a
name: pod-a
spec:
containers:
- image: nginx:latest
name: container-a
livenessProbe:
exec:
command:
- 'true'
readinessProbe:
exec:
command:
- sh
- -c
- 'wget -T2 -O- http://service-b:80'
dnsPolicy: ClusterFirst
restartPolicy: Always
A 파드를 구동하면 다음과 같이 Ready 상태가 0/1으로 남아있음을 확인할 수 있다.
kubectl apply -f .yaml
kubectl get pod pod-a
NAME READY STATUS RESTARTS AGE
pod-a 0/1 Running 0 7s
이는 A 파드가 구동되면서 livenessProbe 를 충족하여 Running 상태로 변경되었으나, readinessProbe 의 조건이 충족되지 않아서이다. readniessProbe 의 command가 정상적으로 수행될 수 있도록 B 파드와 서비스를 생성한다.
*서비스는 이미 생성되어 있다고 가정한다.
파드를 생성하면서 label 을 맞춰서 기존 서비스와 endpoint 를 연결해준다.
kubectl run pod-b --image=nginx:latest --labels="run=pod-b"
파드b가 생성되면 서비스에서 enpoint를 확인할 수 있으며 A파드의 상태가 변경됨을 확인할 수 있다.
kubectl apply -f .yaml
kubectl get pod pod-a
NAME READY STATUS RESTARTS AGE
pod-a 1/1 Running 0 60s
'소프트웨어 아키텍처 > Kubernetes' 카테고리의 다른 글
[Kubernetes] 1-06. PV, PVC 를 사용하는 파드 생성 (0) | 2022.05.02 |
---|---|
[Kubernetes] 1-05. kubectl 명령어를 이용하여 파드 정렬해보기 (0) | 2022.05.02 |
[Kubernetes] 1-03. StatefuleSet 스케일 다운 해보기 (0) | 2022.05.02 |
[Kubernetes] 1-02. 마스터 노드에 파드 스케쥴링 해보기 (0) | 2022.05.02 |
[Kubernetes] 1-01. kubernetes context 사용하기 (0) | 2022.05.02 |
댓글