버즈빌, 카나리 배포와 롤백으로 배포 안정성 UP!
by DD
3년 전
조회수 2
쿠버네티스 환경에서 카나리 배포와 롤백 전략을 통해 배포 안정성을 확보함
스피네이커와 Istio를 활용하여 트래픽 시프팅 및 자동화된 배포 파이프라인 구축
깃헙 웹훅을 통해 배포 이벤트를 감지하고, 커밋 SHA 기반의 롤백 기능 구현
쿠버네티스 배포 파이프라인의 핵심
버즈빌은 스피네이커를 사용하여 자동화된 배포 파이프라인을 구축했다. 깃헙 웹훅을 통해 배포 이벤트를 감지하고, 헬름 차트를 사용하여 쿠버네티스 리소스를 관리한다. 따라서, 커밋 SHA를 기반으로 도커 이미지 태깅 및 배포를 수행하여 배포 과정을 효율적으로 관리한다.
카나리 배포의 구현과 트레이드오프
카나리 배포는 Istio의 VirtualService를 활용하여 트래픽을 분산한다. 롤링 업데이트 대비 A/B 테스트를 통해 안정성을 확보하지만, Istio 설정 및 모니터링 도구 연동이 필요하다. 반면, 카나리 릴리즈 관리의 복잡성이 증가하는 단점이 존재한다.
롤백 전략: 커밋 SHA 기반의 접근
버즈빌은 커밋 SHA를 활용하여 롤백 기능을 구현했다. values.yaml 파일의 버저닝을 통해 이전 버전의 쿠버네티스 매니페스트를 복원한다. 따라서, 코드 리버트 없이 원클릭 롤백이 가능하며, 배포 락을 통해 롤백 중 배포를 방지하여 안정성을 높였다.