-
Kubernetes) Application 배포Cloud/Kubernetes 2022. 10. 24. 23:32
학습 목표 : 몇가지 Application 배포 방식에 대해 알아본다.
Application 배포(Update) 방식
- 기본적인 Application 배포는 Application을 중단하고 업데이트를 진행하여 서비스가 중단되는 시점(downtime)이 생긴다.
- downtime을 극복하기위한 무중단 배포방식이 사용된다.
- Rolling Update (Rolling 배포)
- 무중단 방식의 가장 기본적인 방식으로 사용중인 인스턴스 내에서 새버전을 점진적으로 교체한다.
- 장점
- 인스턴스마다 차례로 배포를 진행하여 상황에따라 쉽게 Rollback이 가능하다.
- 추가적인 인스턴스를 늘리지 않아도 되고 간편하게 관리가 가능하다.
- 단점
- 사용중인 인스턴스에 트래픽이 몰릴 수 있다.
- 배포중에 신버전과 구버전이 공존하므로 호환성 문제가 발생할 수 있다.
- Blue/Green Deployment
- Blue(구버전)과 Green(신버전)으로 나눈다.
- Load Balancer를 통해 구버전의 모든 트래픽을 한번에 신버전 쪽으로 전환하는 방식
- 장점
- 신버전에 구버전의 인스턴스가 그대로 남아있어 손쉬운 Rollback이 가능하다.
- 구버전의 환경을 다음 배포에 재사용할 수 있다.
- 운영환경에 영향을 주지않고 새버전을 테스트할 수 있다.
- 단점
- 시스템 자원이 두배로 필요하다.
- 새로운 환경에 대한 테스트가 전제되어야 한다.
- Canary Release (Canary 배포)
- 옛날 광부들이 유독가스감지를위해 Canary 새를 이용한것을 유래로 잠재적 문제 상황을
미리 감지하기위한 방식- 신버전을 소수의 사용자에게 배포하여 문제가 없는지 확인한 후, 점차 사용자를 늘려 배포한다.
- Blue/Green Deployment와 유사한 면이 있지만 트래픽을 한 번에 바꾸는 것이 아니라 단계적으로
전환하기 때문에 부정적 영향을 최소화하고 트래픽 양을 조절하여 Rollback할 수 있다.- A/B 테스트, 대조군과 실험군을 나누어 특정 UI나 Algorithm 효과 비교 테스트를 할 수 있다.
- 문제상황을 빠르게 감지가 가능하나 네트워크 트래픽 제어에 부담이 갈 수 있다.
'Cloud > Kubernetes' 카테고리의 다른 글
Kubernetes) Service Object (0) 2022.10.30 Kubernetes) Kubernetes Deployment (0) 2022.10.27 Kubernetes) Kubernetes ReplicaSet (0) 2022.10.21 Kubernetes) AWS 기반 쿠버네티스 H.A 구축 프로젝트 2편 (1) 2022.10.18 Kubernetes) AWS 기반 쿠버네티스 H.A 구축 프로젝트 1편 (0) 2022.10.18