Exercise 5.4: Rolling Updates and Rollbacks
Deployment 생성
kubectl create deployment simpleapp --image=$repo/simpleapp --replicas=6생성된 Deployment 및 Pod 확인
kubectl get deploy,pod -l app=simpleapp데모 애플리케이션 업데이트
cd ~/app1 echo ' print("done")' >> simple.py로컬호스트에 저장된 데모 애플리케이션 컨테이너 이미지 확인
sudo podman images컨테이너 이미지 생성
sudo podman build -t simpleapp .컨테이너 이미지가 업데이트 됐는지 확인
sudo podman images위에서 생성한 컨테이너 이미지를 새로운 태그를 부여하고 로컬 레지스트리에 업로드
{ sudo podman tag simpleapp $repo/simpleapp:v2 sudo podman push $repo/simpleapp:v2 }컨테이너 이미지가 업데이트 됐는지 확인
sudo podman imagesWorker 노드에 연결된 터미널로 이동
데모 애플리케이션 컨테이너 이미지 다운로드
sudo podman pull $repo/simpleappv2 태그를 가진 데모 애플리케이션 컨테이너 이미지 다운로드
sudo podman pull $repo/simpleapp:v2CP 노드에 연결된 터미널로 이동
Deployment 이미지를 변경
kubectl set image deployment simpleapp simpleapp=$repo/simpleapp:v2클러스터에 발생한 이벤트 확인
kubectl get events --sort-by='.metadata.creationTimestamp'Pod의 컨테이너 이미지 변경됐는지 확인
kubectl get pod -l app=simpleapp -o=custom-columns="NAME:.metadata.name,IMAGE:.spec.containers[*].image"Deployment의 변경 기록 확인
kubectl rollout history deploy simpleappRevision 1과 Revision 2를 비교
diff <(kubectl rollout history deploy simpleapp --revision=1) <(kubectl rollout history deploy simpleapp --revision=2) -y이전 버전으로 롤백을 시뮬레이션
kubectl rollout undo deploy simpleapp --dry-run=clientRevision 1으로 롤백
kubectl rollout undo deploy simpleapp --to-revision=1Pod의 컨테이너 이미지 변경됐는지 확인
kubectl get pod -l app=simpleapp -o=custom-columns="NAME:.metadata.name,IMAGE:.spec.containers[*].image"Deployment 삭제
kubectl delete deploy simpleapp
PreviousExercise 5.3: Using ConfigMaps Configure Ambassador ContainersNextExercise 5.5: Domain Review
Last updated