
Istio와 Spinnaker를 활용한 Blue-Green + Canary 자동 배포 전략 도입기
두줄요약
Istio와 Spinnaker로 Blue-Green과 Canary를 결합한 Kubernetes 배포 파이프라인을 구축했습니다.\n트래픽 제어와 검증 단계를 통해 롤백·Warm-up을 지원하고 배포 시간을 약 1/4로 줄였습니다.
문제 상황
- Rolling Update의 느린 순차 교체와 핫픽스·배포 집중 상황의 운영 부담
- 쉬운 롤백, 신 서버 모니터링·디버깅, Warm-up, 업데이트 시간 단축 요구
구조와 흐름
- 구 서버와 동일 스펙의 신 서버 프로비저닝 후 일부 트래픽으로 Canary 검증
- 안정성 확인 뒤 신 서버 트래픽 확대와 구 서버 종료로 이어지는 Blue-Green 결합 파이프라인
- Istio VirtualService 가중치 조절, Helm 리소스 관리, Spinnaker 단계 자동화와 Manual Judgement 구성
선택 이유
- 구·신 서버 공존 환경으로 트래픽 전환 기반의 빠른 롤백 지원
- 일부 실제 트래픽 기반 모니터링·디버깅과 JVM Warm-up 시간 확보
- Grafana·Jaeger·JMX 검증 및 Slack·Email·SMS 알림 연계
성능/운영 포인트
- 트래픽 10% 이동과 100% 이동의 2단계 전환으로 배포 시간 약 1/4 단축
- Prometheus 커스텀 메트릭과 Jaeger 추적으로 신규 기능·병목 확인
- Automated Canary Analysis, Argo Rollouts, Clutch 기반 추가 자동화 검토



