롤링 업데이트/ 롤 아웃 / 롤 백

#Infra #IaaS #kube #개념 #rolling

1. 롤링 업데이트 (Rolling Update)

Pod들을 순차적으로 새 버전으로 교체하는 무중단 배포 방식

예시: 이미지 버전을 v1 → v2로 교체

# Deployment의 컨테이너 이미지 변경 (v1 → v2)
kubectl set image deployment/my-app my-app-container=my-app:v2

# 교체가 진행되는 동안 상태 확인
kubectl rollout status deployment/my-app

2. 롤아웃 (Rollout)

배포 과정과 기록을 추적하고 관리하는 명령어

주요 명령어

# 현재 배포 상태 확인
kubectl rollout status deployment/my-app

# 이전 배포 이력 확인
kubectl rollout history deployment/my-app

# 특정 revision의 상세 정보 확인
kubectl rollout history deployment/my-app --revision=2

3. 롤백 (Rollback)

문제가 생겼을 때 이전 버전으로 되돌리는 방법

예시: v2 배포 후 장애 발생 → v1으로 복구

# 직전 revision으로 롤백
kubectl rollout undo deployment/my-app

# 특정 revision(예: 2번)으로 롤백
kubectl rollout undo deployment/my-app --to-revision=2

4. 한눈에 보는 흐름 (예시 시나리오)

  1. 배포 업데이트 (롤링 업데이트 시작)
kubectl set image deployment/my-app my-app-container=my-app:v2
  1. 배포 상태 확인 (롤아웃 확인)
kubectl rollout status deployment/my-app
  1. 문제 발생 시 → 롤백 실행
kubectl rollout undo deployment/my-app

👉 정리하면:

  • kubectl set image = 롤링 업데이트 시작
  • kubectl rollout status/history = 롤아웃 상태 추적
  • kubectl rollout undo = 롤백 실행

Comments

💬 Sign in with GitHub to leave a comment. Comments are public and stored in GitHub Discussions.