본문 바로가기
INFRA/DevOps

[K8S] 배포전략

by it-zero 2022. 6. 9.

안녕하세요. 막내즈입니다~!~!!

오늘은 쿠버네티스의 배포전략에 대해서 알아보도록 하겠습니다 !!

 

배포 전략은 크게 세 가지로 나눌 수 있습니다. 

1. Rolling update 

2. Canary

3. Blue/Green

 


1. Rolling Update

롤링 업데이트는 가장 많이 사용되는 배포 방식 중의 하나이다. 새 버전을 배포하면서, 새 버전 인스턴스를 하나씩 늘려나가고, 기존 버전을 하나씩 줄여나가는 방식이다. 이 경우 기존 버전과 새 버전이 동시에 존재할 수 있는 단점은 있지만, 시스템을 무 장애로 업데이트할 수 있다는 장점이 있다

 

- 가장 기본적인 배포 전략 

- 파드를 하나씩 죽이고 새로 띄우는 차례대로 교체하는 방법

- 2가지 버전의 컨테이너가 동시에 실행되어서 버전 호환성 문제가 발생할 수 있음.

 

2. Canary

카나리라는 이름의 뜻부터 알아보자. 카나리는 원래 광부들이 탄광에 들어가기 전에 갱도로 먼저 날려 보내던 새다. 만약 새가 탄광 안으로 들어가서 나오지 못하면 유독 가스가 있다고 판단하여 내부로 들어가지 않았다고 한다. 카나리아 릴리즈는 새로운 버전을 하나씩 올려보면서 해당 버전이 잘 동작한다 싶으면 기존 버전을 내린다. 그런 다음 또다시 새로운 버전을 올리는 식으로 배포를 진행한다.

 

- 기존 버전을 유지한 채로 일부 버전만 신규 pod로 교체

- 구버전과 신버전이 같이 존재함.

- 사용자 반응 확인할 때 유용 

 

3. Blue/Green

블루 그린 배포는 여기서 말하는 블루란 이전 버전을 뜻하고 그린은 새로운 버전을 뜻한다. 일단 이전 버전과 새로운 버전을 모두 띄우고 새로운 버전이 준비되었다고 판단할 때 기존 버전의 연결을 서비스로부터 제거한다. 이 방식의 장 적음 서비스 중단점이 없고, 버전 혼재에 따른 문제가 없다는 것이다. 다만 이전 버전과 새 버전을 동시에 실행하기 때문에 리소스가 두배로 필요하다는 단점이 있다. 이 방식은 서비스 매시(Service Mesh) Knative 같은 확장 서비스를 쓰지 않으면 블루 그린 배포는 수동으로 진행된다.

 

- 신규 pod가 정상적으로 실행되면 한꺼번에 트래픽을 옮기는 배포 전략

- 신버전과 구버전이 같이 존재. 순간적인 교체가 가능하다는 장점

- 기존에 실행된 파드 개수만큼 신규 파드를 모두 실행한다. 

 

 

 

출처 

https://devpouch.tistory.com/136

https://bcho.tistory.com/1266?category=731548

 

 

'INFRA > DevOps' 카테고리의 다른 글

Service - 2  (0) 2022.06.13
IaC 별 역할과 Terraform, Ansible에 대해서 알아봅시다  (0) 2022.06.10
[Docker] Container 개요  (0) 2022.06.07
IaC란 무엇일까?  (0) 2022.06.03
Service - 1  (0) 2022.06.02

댓글