추천 이유:
1. ArgoCD 통합: 같은 Argo 생태계라 ArgoCD UI에서 Rollout 상태를 확인할 수 있습니다.
2. CRD 기반: YAML로 배포 전략을 선언하므로 GitOps 원칙에 완벽히 부합합니다.
3. 점진적 발전: 5장에서 Blue/Green → 6장에서 Canary로 전략을 바꿀 때 Rollout CRD의 strategy 필드만 수정하면 됩니다.
4. kubectl 플러그인: kubectl argo rollouts status로 배포 진행 상태를 실시간 모니터링할 수 있습니다.
Blue/Green 배포의 동작 원리를 그림으로 보면 이렇습니다.
현재 (Blue) 새 버전 (Green)
┌──────────┐ ┌──────────┐
│ v0.1.1 │ │ v0.2.0 │ ← 새 Pod가 완전히 Ready
│ (active) │ │ (preview)│ ← preview Service로 먼저 확인
└──────────┘ └──────────┘
↓ ↓
트래픽 100% 트래픽 0%
30초 후 auto-promote
↓
트래픽 100%로 전환
(Blue → Green)