Exercise 7.3: Rolling Updates and Rollbacks using Deployment
CP 노드에 연결된 터미널로 이동
이전 실습에서 생성된 Deployment의 배포 전략 확인
kubectl get deploy webserver -o jsonpath='{.spec.strategy}' | jq아래의 명령어로 텍스트 에디터를 실행해서 생성된 Deployment의 Manifest를 수동으로 수정
kubectl edit deploy webserver25번 라인의 strategy을 아래와 같이 변경하고 저장
.... strategy: type: Recreate template: ....3, 4번 단계를 수행하지 않고 아래의 명령어로 대체 가능
kubectl patch deploy webserver --type strategic \ --patch '{"spec":{"strategy":{"$retainKeys":["type"],"type":"Recreate"}}}'Deployment의 배포 전략이 변경되었는지 확인
kubectl get deploy webserver -o jsonpath='{.spec.strategy}' | jqDeployment의 이미지를 변경
kubectl set image deploy webserver nginx=nginx:1.23.1-alpine새로운 Pod가 생성되었는지 확인
kubectl get pod -l app=webserverPod의 컨테이너 이미지가 변경되었는지 확인
kubectl get pod -l app=webserver \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].imageDeployment의 변경 기록 확인
kubectl rollout history deploy webserverRevision 1과 Revision 2를 비교
diff <(kubectl rollout history deploy webserver --revision=1) \ <(kubectl rollout history deploy webserver --revision=2) -y이전 버전으로 롤백
kubectl rollout undo deploy webserver새로운 Pod가 생성되었는지 확인
kubectl get pod -l app=webserverPod의 컨테이너 이미지가 변경되었는지 확인
kubectl get pod -l app=webserver \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].imageDeployment 삭제
kubectl delete deploy webserver
Last updated