#Infra #IaaS #kube #concept #rolling
1. Rolling Update
A zero-downtime deployment strategy that replaces Pods sequentially with a new version
Example: replacing image version 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
Commands for tracking and managing the deployment process and its history
Key Commands
# 현재 배포 상태 확인
kubectl rollout status deployment/my-app
# 이전 배포 이력 확인
kubectl rollout history deployment/my-app
# 특정 revision의 상세 정보 확인
kubectl rollout history deployment/my-app --revision=2
3. Rollback
How to revert to a previous version when something goes wrong
Example: incident occurs after v2 deployment → restore to v1
# 직전 revision으로 롤백
kubectl rollout undo deployment/my-app
# 특정 revision(예: 2번)으로 롤백
kubectl rollout undo deployment/my-app --to-revision=2
4. Flow at a Glance (Example Scenario)
- Trigger a deployment update (Rolling Update begins)
kubectl set image deployment/my-app my-app-container=my-app:v2
- Check deployment status (Rollout check)
kubectl rollout status deployment/my-app
- If an issue occurs → Execute Rollback
kubectl rollout undo deployment/my-app
👉 In summary:
kubectl set image= Start Rolling Updatekubectl rollout status/history= Track Rollout statuskubectl rollout undo= Execute Rollback