본 게시물은 [따배씨] 07. Rolling Update & Roll Back 영상을 참고하여 작성한 글입니다.
작업 클러스터:
k8s
- Create a deployment as follows:
- TASK:
- name :
nginx-app
- Using container nginx with version
1.11.10-alpine
- The deployment should contain
3
replicas- Next, deploy the application with new version
1.11.13-alpine
, by performing a rolling update- Finally,
rollback
that update to the previous version1.11.10-alpine
$ kubectl config use-context k8s
Switched to context "k8s".
$ kubectl create deployment nginx-app --image=nginx:1.11.10-alpine --replicas=3 --dry-run=client -o yaml
$ kubectl create deployment nginx-app --image=nginx:1.11.10-alpine --replicas=3
$ kubectl get deployments.apps nginx-app
NAME READY UP-TO-DATE AVAILABLE AGE
nginx-app 3/3 3 3 9s
$ kubectl get pod | grep nginx-app
nginx-app-fc7875d8-bhl58 1/1 Running 0 25s
nginx-app-fc7875d8-h4cwd 1/1 Running 0 25s
nginx-app-fc7875d8-wzlgd 1/1 Running 0 25s
// container Image 버전 확인
$ kubectl describe pod nginx-app-fc7875d8-h4cwd
...
Event Message, Container Image에서 Container Image 확인
$ kubectl set image deployment nginx-app nginx=nginx:1.11.13-alpine --record
deployment.apps/nginx-app image updated
$ kubectl rollout status deployment nginx-app
deployment "nginx-app" successfully rolled out
// 현재 상태의 pod 확인
- replicaset 변경된 것 확인
$ kubectl get pod | grep nginx-app
nginx-app-bff47cd8c-2cgsq 1/1 Running 0 3m15s
nginx-app-bff47cd8c-7pxxh 1/1 Running 0 3m13s
nginx-app-bff47cd8c-lssr9 1/1 Running 0 3m17s
// container Image 버전 확인
$ kubectl describe pod nginx-app-bff47cd8c-2cgsq
...
Event Message, Container Image에서 Container Image 확인
$ kubectl rollout history deployment nginx-app
deployment.apps/nginx-app
// REVISION 숫자가 가장 큰 것이 현재 시점
REVISION CHANGE-CAUSE
1 <none>
2 kubectl set image deployment nginx-app nginx=nginx=1.11.13-alpine --record=true
$ kubectl rollout undo deployment nginx-app
deployment.apps/nginx-app rolled back
$ kubectl rollout status deployment nginx-app
$ kubectl get pods | grep nginx-app
nginx-app-fc7875d8-bhl58 1/1 Running 0 27s
nginx-app-fc7875d8-h4cwd 1/1 Running 0 29s
nginx-app-fc7875d8-wzlgd 1/1 Running 0 26s
// container Image 버전 확인
$ kubectl describe pod nginx-app-fc7875d8-h4cwd
...
Event Message, Container Image에서 Container Image 확인
$ kubectl rollout history deployment nginx-app
deployment.apps/nginx-app
REVISION CHANGE-CAUSE
2 kubectl set image deployment nginx-app nginx=nginx=1.11.13-alpine --record=true
3 <none>