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
'TIL' 카테고리의 다른 글
| 파드 상태별 확인방법 정리 (0) | 2026.01.31 |
|---|---|
| 서버 성능 최적화 -> 미들웨어를 보자 (0) | 2026.01.27 |
| 해놓을 명령어 및 static pod 문제 (0) | 2026.01.26 |
| 클러스터 여러개를 조종가능? (0) | 2026.01.26 |
| 클라이언트 로그를 서버에서 받아보자. 어떻게? (0) | 2026.01.23 |