5-7. 다양한 배포 전략

황인권·2025년 3월 4일

Kubernetes

목록 보기
37/37

  • 실제로 라이브 환경을 운영할 때 롤링 배포 전략도 많이 사용되는 배포 전략이지만, 실무에서 사용하는 다른 배포 전략도 있기 때문에 다른 대표적인 배포 전략들에 대해 알아보자.

Blue/Green 배포 전략

  • 블루-그린 배포 전략은 Pod를 하나씩 교체해나가는 롤링 배포 전략과는 다르게, 기존에 운영되던 버전의 Pod들은 그대로 놔두고 이와 동일한 사양의 새로운 버전의 Pod를 준비한다.
  • 그리고 로드밸런서가 가리키는 Pod 집단만 싹 바꿔서 순식간에 새로운 버전으로 전환하는 방법이다.
    • 오랜 시간에 걸쳐 배포가 이루어지는 롤링 배포와 달리, 한 번에 새로운 버전으로 교체가 가능하고 이전 버전으로 되돌려야 하는 경우에도 빠르게 되돌릴 수 있다는 장점이 있지만, 리소스가 두 배로 필요하다는 단점이 있다.

Canary 배포 전략

  • 카나리 배포 전략의 경우에는 구버전 Pod 집단과 새 버전의 Pod 집단에 연결될 트래픽의 비율을 조절해가면서 점진적으로 새 버전으로 이전하는 전략을 의미한다.
  • 롤릴 배포는 하나씩 Pod를 교체해나갔지만, 카나리 배포 전략은 몇 퍼센트의 트래픽이 새로운 버전의 Pod로 연결될 것인지를 설정하는 것이 차이이다.
    • 일부 소수의 유저들에게만 새로운 버전을 테스트해 보고 안전성이 검증되면 완전 새로운 버전으로 전환할 수 있다는 장점이 있지만, 비교적 구현이 복잡하다는 단점이 있다.

Appendix. 배웠던 개념들 정리

용어의미
고가용성(High Availability, HA)시스템이 오랜 기간동안 끊기지 않고 지속적으로 동작하는 속성
내결함성(Fault Tolerance, FT)일부 시스템이 망가져도 전체 시스템이 계속 동작하는 속성
Container애플리케이션과 그 실행 환경을 담은 가상화 된 단위
Image컨테이너를 실행하기 위한 내용을 담은 파일
Container Registry컨테이너 이미지를 저장하는 저장소
Pod여러 컨테이너가 모여있는 쿠버네티스의 최소 실행 단위 (논리적인 컴퓨터)
NodePod를 실제로 실행하는 물리적인 컴퓨터
NodeGroup(NodePool)동일한 특징을 가진 Node들의 모임
ReplicaSet일정 수의 Pod를 유지하게 하는 쿠버네티스 오브젝트
Namespace오브젝트들을 그룹화하여 격리하는 논리적인 구분
ConfigMap설정 데이터를 저장하여 여러 오브젝트가 공통으로 사용 할 수 있게 하는 오브젝트
Secret민감한 데이터를 저장하여 여러 오브젝트가 공통으로 사용 할 수 있게 하는 오브젝트
LoadBalancer트래픽을 여러 서버에 분산시키는 장치
ServicePod를 기계적으로 부하 분산하고 단일 진입점을 제공하는 오브젝트
Ingress웹 서비스의 트래픽을 클러스터 내 서비스로 라우팅하는 규칙을 정의하는 오브젝트
Deployment애플리케이션 배포 및 업데이트를 관리하는 오브젝트
Helm쿠버네티스 애플리케이션의 패키지 매니저
Prometheus시계열 데이터를 저장하는데 특화되어있는 데이터베이스
GrafanaPrometheus의 시각화 도구로서, 여러 데이터를 그래프로 표시
DaemonSet모든 노드에서 특정 Pod를 각각 실행하게 하는 오브젝트
PV(Persistence Volume)일회성으로 사라지지 않고, 지속적으로 데이터를 저장하고 있는 스토리지 볼륨
StatefulSet상태를 가지는 애플리케이션을 관리하는 오브젝트
CronJob주기적으로 Job을 생성하는 오브젝트
HPA(Horizontal Pod Autoscaling)Pod의 수를 자동으로 조정하는 오브젝트
Rolling 배포 전략인스턴스를 하나씩 교체해가며 새 버전으로 업데이트하는 배포 방식
Blue/Green 배포 전략이전 버전과 새로운 버전을 동시에 준비해 놓고, 한 번에 전환하는 배포 방식
Canary 배포 전략일부 트래픽에만 새 버전을 배포해 테스트하는 배포 방식
profile
inkwon Hwang

0개의 댓글