목록 보기
EKS + ALB 환경에서 Argo Rollouts 503 에러 없는 카나리 배포 적용기
데브옵스

EKS + ALB 환경에서 Argo Rollouts 503 에러 없는 카나리 배포 적용기

여기어때
여기어때
2026년 4월 23일

두줄요약

EKS + ALB 환경에서 Blue/Green과 기본 Canary의 Promote 시 503이 발생하는 원인을 분석했습니다. Argo Rollouts Canary PingPong으로 selector 변경 없이 weight만 교대해 문제를 해결했습니다.

문제 상황

  • EKS + ALB 환경에서 Blue/Green과 기본 Canary 모두 Promote 시 약 30초간 503 발생
  • Service selector 변경으로 EndpointSlice와 ALB Target Group 재등록이 일어나며 헬스체크 전 공백 발생
  • Pod 생성 시점에만 readiness gate가 주입되어 Promote 시점의 기존 Pod는 보호받지 못함

원인 분석

  • Promote 단계에서 Service selector가 바뀌며 ALB target 재등록이 발생하는 구조
  • 새 target이 healthy 상태가 되기 전 initial 상태로 남아 503 응답 유발
  • ALB Pod Readiness Gate가 Service 매칭 시점에만 주입되는 구조적 한계

해결 방법

  • Argo Rollouts Canary PingPong 전략 적용
  • 두 Target Group을 고정하고 배포마다 stable/canary 역할만 교대
  • Promote 시 selector 변경 없이 ALB ForwardConfig weight만 swap하여 503 제거

적용해볼 점

  • pingService, pongService, rootService의 3개 Service 구성
  • Ingress backend port를 use-annotation으로 설정해 ForwardConfig 활성화
  • maxUnavailable 0, maxSurge 1, 단계적 setWeight와 pause로 점진 배포 운영

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...