다음과 같은 조건의 self-healing 기능을 Deployment에 적용하십시오.
httpGet probe를 이용해 smlinux/appjs 컨테이너에서 8080포트로 200상태코드가 나오지 않으면 외부 traffic이 들어오지 못하도록 구성readinessProbe가 동작httpGet probe를 이용해 smlinux/appjs 컨테이너가 웹 통신에 실패하면 컨테이너를 다시 실행/data/ckad/liveness-busybox.yaml을 사용# readiness 및 liveness probe 설정 파일 편집
$ vi /data/ckad/readiness-appjs.yaml
# 설정 파일 적용
$ kubectl apply -f /data/ckad/readiness-appjs.yaml
# 설정 확인
$
kubectl describe pod appjs-deployment-YYYYY-ZZZZZ
apiVersion: apps/v1
kind: Deployment
metadata:
name: appjs-deployment
spec:
replicas: 3
selector:
matchLabels:
app: appjs
template:
metadata:
labels:
app: appjs
spec:
containers:
- name: appjs-container
image: smlinux/appjs
ports:
- containerPort: 8080
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 1
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
failureThreshold: 1
readiness 및 liveness probe 설정 파일 편집
$ vi /data/ckad/readiness-appjs.yaml
vi /data/ckad/readiness-appjs.yaml 명령어를 사용하여 readiness-appjs.yaml 파일을 엽니다.readinessProbe와 livenessProbe를 설정합니다.설정 파일 적용
$ kubectl apply -f /data/ckad/readiness-appjs.yaml
kubectl apply 명령어를 사용하여 readiness-appjs.yaml 파일을 적용합니다.설정 확인
$ kubectl describe pod appjs-deployment-YYYYY-ZZZZZ
kubectl describe pod 명령어를 사용하여 appjs-deployment의 설정을 확인합니다.