강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김경민님의 프로필 이미지
김경민

작성한 질문수

쿠버네티스 어나더 클래스-Sprint5(#Istio #Kiali #Jaeger #Cert-Manager)

📝 이상적인 트래픽 업그레이드 - Traffic Shifting (💻 실습)

Istio와 Argo rollouts blue green배포

해결된 질문

작성

·

35

1

Istio와 argo rollouts를 연동한 blue green 배포방식은 공식적으로 지원하지 않는 것인지 궁금합니다.

 

Argo rollouts 공식 문서에서도 canary만 기재되어 있어서 blue green은 지원하지 않는 것인지 궁금합니다.

 

Argo rollouts를 그냥 blue green 매니페스트로 배포하더라도 istio가 k8s 변경점을 읽어서 blue green처럼 움직이게 만들긴 하나 아주 짧은 순간 No Cluster로 거래가 실패하는 경우가 발생합니다.

 

공식지원이 아니라서 세밀한 제어가 안되어 발생하는 것인지 제 환경이 특이한 것인지 궁금합니다.

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

네, Istio와의 조합에서 문서화된 기본 패턴은 Canary입니다. Blue/Green은 공식적으로 지원하지 않아요.

그렇기 때문에 리소스 적용은 Canary로 하시고, canary를 가지고 blue/green 배포가 되도록 수치를 컨트롤 해주시는 게 좋습니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김경민님.

Istio와 Argo Rollouts를 이용한 Blue/Green 배포 방식에 대한 질문을 주셨네요. Argo Rollouts는 기본적으로 Canary 배포를 중심으로 설계되어 있으며 공식 문서에서도 Canary 배포에 대한 설명이 주로 이루어집니다. 그러나, Blue/Green 배포를 완전히 지원하지 않는 것은 아닙니다. 다만 Istio와의 연동을 통해 Blue/Green 배포를 구현할 때 발생하는 몇 가지 고려 사항이 있습니다.

Istio와 Argo Rollouts의 Blue/Green 배포

  • Argo Rollouts의 공식 지원: Argo Rollouts는 Istio와 통합하여 Canary 배포를 지원하지만, 실질적으로 Blue/Green 배포도 Istio의 Traffic Management를 활용하여 구현할 수 있습니다. Istio의 VirtualService와 DestinationRule을 활용하여 트래픽 라우팅을 세밀하게 제어할 수 있습니다.

  • Blue/Green 배포의 구현: Istio에서는 VirtualService를 사용하여 특정 Subset에 트래픽을 유도하는 방식으로 Blue/Green 배포를 시뮬레이션할 수 있습니다. 이 방법은 Argo Rollouts의 CustomResource Definition(CRD)인 Rollout을 확장하거나, 일반적인 Kubernetes 서비스와 Deployment 리소스를 활용하여 구현해야 합니다.

문제의 발생 원인

  • 짧은 순간의 트래픽 실패: 이 문제는 Istio 설정의 세밀함이나 Kubernetes 네트워크 환경에 따라 발생할 수 있습니다. 이와 관련된 구체적인 조정이 필요할 수 있으며, Istio의 LoadBalancer나 Traffic Policy에 대한 설정을 검토해 보실 필요가 있습니다.

  • 환경 특이성: 특정 클러스터 설정이나 네트워크 환경에서 이러한 문제가 발생할 수 있습니다. 따라서 자체 환경과 설정을 검토하고, Istio와 Argo Rollouts 간의 설정을 세밀히 조정하는 것이 필요합니다.

관련 질문과 답변은 다음 자료를 참고하시면 도움이 될 것입니다:
- Argo Rollouts와 Istio를 이용한 배포 전략 - GitHub 예제에서는 Istio와 함께 사용하는 Canary 배포 예제를 통해 트래픽 라우팅을 확인할 수 있습니다.


현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김경민님의 프로필 이미지
김경민

작성한 질문수

질문하기