TIL

CKA용 deploy update, rollback 명령어 정리

하얀잔디 2026. 1. 27. 17:53

Rolling Update & Roll Back

Rollout

  • 처음 deployment 를 생성하면, rollout 을 만들어내고, 새로운 deployment revision 을 만든다.
  • 배포가 새로이 될 때마다 버전업이 되고, Deployment에 발생하는 변화를 추적하고, 필요 시 이전 버전으로 원복 가능

[ command ]

  • kubectl rollout status deployment/[deployment명]
  • kubectl rollout history deployment/[deployment명]

Deployment 전략

  • Recreate 전략
    • 실행 중인 인스턴스들 삭제, 새로운 인스턴스들 배포
    • 이전 버전이 다 삭제되고 새로운 버전이 생성되기 이전에 응용 프로그램이 다운됨 (서비스 불가)
  • Rolling Update 전략 - default 배포 전략
    • 인스턴스들을 하나씩 삭제하고 생성 (구버전 삭제하고 새버전 생성을 순차적으로)
    • 응용 프로그램이 다운되는 현상 없음 (seamless)
  •  

 

 

 

문제 )

 💭 작업 클러스터: 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 version 1.11.10-alpine </aside>

 

 

커맨드 확인

k create deployment nginx-app --image=nginx:1.11.10-alpine --replicas=3 --dry-run=client -o yaml
k create deployment nginx-app --image=nginx:1.11.10-alpine --replicas=3
k get deployment.apps nginx-app
k get po | grep nginx-app

rolling update
k set image deployment nginx-app nginx=nginx:1.11.13-alpine --record
k rollout status deployment nginx-app
k get pods | grep nginx-app

k rollout history deployment nginx-app

roll-back
k rollout undo deployment nginx-app
k rollout history deployment nginx-app