데브코스 TIL - 쿠버네티스 포드 업데이트와 복구
쿠버네티스 포드 업데이트와 복구
제공된 실습파일을 사용하여 서비스 운용해보기
1. 디렉토리 안에 해당 파일들 넣어두기
service.yaml
rollout.yaml
2. 매니페스트 사용해서 delpoyment 만들기
1
2
3
kubectl apply -f rollout.yaml
deployment.apps/dpy-nginx created
1
2
3
4
kubectl get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
dpy-nginx 0/3 3 0 11s
3. 매니페스트 사용해서 서비스 만들기
1
2
3
kubectl apply -f server.yaml
service/svc-nginx created
1
2
3
4
5
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 8d
svc-nginx NodePort 10.105.181.193 <none> 80:30000/TCP 4s
4. dpy-nginx 컨테이너의 이미지 버전 수정하기
1
2
3
kubectl set image deployment dpy-nginx nginx=nginx:1.17.0
deployment.apps/dpy-nginx image updated
5. annotate
를 사용해서 변경 사항(내역) 작성하기
1
2
3
kubectl annotate deployment dpy-nginx kubernetes.io/change-cause="update nginx image from 1.16.0 to 1.17.0"
deployment.apps/dpy-nginx annotated
6. 작업 내역 확인하기
1
2
3
4
5
6
kubectl rollout history deployment dpy-nginx
deployment.apps/dpy-nginx
REVISION CHANGE-CAUSE
1 <none>
2 update nginx image from 1.16.0 to 1.17.0
오류
1. 없는 이미지 버전을 사용하여 오류 만들기
1
2
3
kubectl set image deployment dpy-nginx nginx=nginx:1.18.30
deployment.apps/dpy-nginx image updated
2. annotate
를 사용해서 변경 사항(내역) 작성하기
1
2
kubectl annotate deployment dpy-nginx kubernetes.io/change-cause="update nginx image from 1.17.0 to 1.18.30"
deployment.apps/dpy-nginx annotated
3. 작업 내역 확인하기
1
2
3
4
5
6
7
kubectl rollout history deployment dpy-nginx
deployment.apps/dpy-nginx
REVISION CHANGE-CAUSE
1 <none>
2 update nginx image from 1.16.0 to 1.17.0
3 update nginx image from 1.17.0 to 1.18.30
4. 포드 목록 확인
이미지를 가져오는 것에 실패한 상태인 것을 확인할 수 있음 (대기중인 상태)
1
2
3
4
5
6
7
kubectl get pods
NAME READY STATUS RESTARTS AGE
dpy-nginx-5b44449cdc-8kzxd 0/1 ImagePullBackOff 0 3m16s
dpy-nginx-858d7bb5b9-cj4kq 1/1 Running 0 13m
dpy-nginx-858d7bb5b9-ncnf8 1/1 Running 0 13m
dpy-nginx-858d7bb5b9-zk6mk 1/1 Running 0 13m
5. rollback 하기
1
2
3
kubectl rollout undo deployment dpy-nginx
deployment.apps/dpy-nginx rolled back
1
2
3
4
5
6
kubectl get pods
NAME READY STATUS RESTARTS AGE
dpy-nginx-858d7bb5b9-cj4kq 1/1 Running 0 16m
dpy-nginx-858d7bb5b9-ncnf8 1/1 Running 0 16m
dpy-nginx-858d7bb5b9-zk6mk 1/1 Running 0 16m
6. 작업 내역 확인하기
작업 내역을 확인하면 4번이 추가된 것을 볼 수 있다 (원래 상태로 복구)
1
2
3
4
5
6
7
kubectl rollout history deployment dpy-nginx
deployment.apps/dpy-nginx
REVISION CHANGE-CAUSE
1 <none>
3 update nginx image from 1.17.0 to 1.18.30
4 update nginx image from 1.16.0 to 1.17.0
This post is licensed under CC BY 4.0 by the author.