IT/CKA

CKA 준비과정 - Application Lifecycle Management (1) / 업데이트 & 롤백

Primes 2023. 5. 29. 13:13
728x90

Revision 1 : 처음 배포를 진행하면 Rollout(업데이트) 를 진행하고 버전 1(Revision 1)을 생성한다.

Revision 2 : App이 업그레이드되면 컨테이너에 Rollout을 진행하고 버전 2 (Revision 2)를 생성한다.

 

위와같은 방식으로 버전을 관리함으로써 배포로 인한 변화를 추적하고, 필요하다면 Rollback을 할 수 있도록 한다.

 

Rollout 커맨드는 아래와 같다.

kubectl rollout status deployment/myapp-deployment
kubectl rollout history deployment/myapp-deployment

위 명령어를 통해 status 및 history 확인이 가능하다.

 

 

배포 방법 수립

Recreate 방법 : 기존 배포되어 있는 app을 모두 삭제하고 업데이트된 버전으로 재생성한다

=> 해당 버전으로 Rollout 진행하면 업데이트 진행 중 app이 다운되어 접근할 수 없게 된다.

Rolling Update 방법 : 기본적인 Rollout 방법으로, 순차적으로 app 을 하나씩 교체한다.

=> 지난 버전의 app을 업데이트가 완전히 중단되야 fade-out 하므로 서비스 중에도 Rollout 가능하다.

 

 

Rollback

업데이트한 버전에 문제가 있는 경우, 롤백을 수행해야 한다. 쿠버네티스는 간단하게 이전 버전으로 롤백하도록 도와준다.

kubectl 명령어를 통해 간단하게 롤백을 진행 가능하다.

새로 업데이트된 파드를 삭제하고, 이전 버전의 파드를 새로 불러와 App을 이전 버전으로 되돌린다.

kubectl get replicasets 명령어를 통해 롤백이 제대로 이루어졌는지 확인할 수 있다.

 

요약하자면, 명령어는 위와같이 정리할 수 있다.

반응형