0Pricing
DevOps Bootcamp · 강의

배포 전략: 블루-그린과 카나리

롤링 업데이트를 넘어 Kubernetes에서 블루-그린 및 카나리 배포 패턴으로 안전하게 릴리스하는 방법을 배워 보세요.

배포 전략: 블루-그린과 카나리은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

롤링 업데이트만으로 충분하지 않은 이유

롤링 업데이트는 파드를 점진적으로 교체하지만, 전환 중에는 이전 버전과 새 버전이 함께 실행됩니다. 위험한 릴리스에서는 어떤 사용자가 새 버전을 볼지 완전히 제어하고 싶을 수 있습니다.

블루-그린 및 카나리 전략을 사용하면 이러한 제어가 가능합니다.

블루-그린 방식

블루-그린 배포에서는 동일한 환경을 두 개 실행합니다.

  • 블루 = 현재 운영 중인 버전
  • 그린 = 완전히 배포되었지만 아직 트래픽을 받지 않는 새 버전

모든 트래픽을 블루에서 그린으로 한 번에 전환합니다.

두 개의 디플로이먼트, 하나의 서비스

각 버전은 버전 레이블이 지정된 별도의 디플로이먼트입니다. 하나의 서비스가 현재 운영 중인 색상에 해당하는 버전을 선택합니다.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-blue
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
      version: blue
  template:
    metadata:
      labels:
        app: web
        version: blue
    spec:
      containers:
      - name: web
        image: myapp:1.0

트래픽 전환하기

그린을 운영에 적용하려면 서비스 선택자가 그린 버전을 가리키도록 패치하기만 하면 됩니다. 전환은 즉시 이루어집니다.

kubectl patch service web -p '{"spec":{"selector":{"app":"web","version":"green"}}}'

블루-그린의 장단점

  • 장점: 블루로 다시 전환하여 즉시 롤백할 수 있습니다
  • 장점: 릴리스 중에 버전이 섞이지 않습니다
  • 단점: 두 버전이 겹쳐 실행되는 동안 리소스가 두 배로 필요합니다

카나리 방식

카나리 릴리스는 먼저 소량의 트래픽을 새 버전으로 보냅니다. 지표가 정상으로 보이면 새 버전의 비중을 점진적으로 늘립니다.

이 이름은 광부들이 위험을 조기에 감지하기 위해 사용했던 카나리아에서 유래했습니다.

복제본 수를 이용한 카나리

간단한 카나리 구성에서는 동일한 서비스 레이블을 공유하는 두 개의 디플로이먼트를 사용합니다. 트래픽은 대략 복제본 비율에 따라 나뉩니다.

# stable: 9 replicas, canary: 1 replica => ~10% to canary
kubectl scale deployment app-stable --replicas=9
kubectl scale deployment app-canary --replicas=1

카나리 확대하기

확신이 커지면 카나리 쪽으로 비율을 옮기고, 카나리가 모든 트래픽을 처리하게 되면 이전 버전을 종료합니다.

kubectl scale deployment app-canary --replicas=5
kubectl scale deployment app-stable --replicas=5
# later, fully promote
kubectl scale deployment app-canary --replicas=10
kubectl scale deployment app-stable --replicas=0

카나리 관찰하기

카나리의 핵심은 관찰입니다. 확대하기 전에 오류율, 지연 시간 및 로그를 확인하십시오.

kubectl get pods -l version=canary
kubectl logs -l version=canary --tail=50

전략 선택하기

  • 블루-그린: 깔끔하고 즉각적인 전환과 빠른 롤백이 필요할 때 가장 적합합니다
  • 카나리: 영향 범위를 제한하고 실제 트래픽으로 검증하고 싶을 때 가장 적합합니다
  • 롤링: 위험이 낮고 일상적인 업데이트에 적합한 기본 선택입니다

kubectl을 넘어선 도구

세밀한 트래픽 분할(예: 정확히 5%)을 위해 팀에서는 Istio와 같은 서비스 메시나 Argo Rollouts 및 Flagger와 같은 점진적 배포 도구를 사용합니다. 이러한 도구는 카나리 분석을 자동화합니다.

빠른 확인

카나리 릴리스를 가장 잘 설명하는 문장을 고르십시오.

복습

고급 릴리스 전략을 비교했습니다. 블루-그린은 두 환경 사이에서 모든 트래픽을 즉시 전환하여 빠른 롤백을 지원하고, 카나리는 위험을 제한하기 위해 트래픽을 점진적으로 옮깁니다. 두 전략 모두 이미 알고 있는 디플로이먼트와 서비스라는 기본 요소를 바탕으로 합니다.

자주 묻는 질문

“배포 전략: 블루-그린과 카나리” 강의는 무료인가요?

네 — “배포 전략: 블루-그린과 카나리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“배포 전략: 블루-그린과 카나리”에서 뭘 배우나요?

롤링 업데이트를 넘어 Kubernetes에서 블루-그린 및 카나리 배포 패턴으로 안전하게 릴리스하는 방법을 배워 보세요. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“배포 전략: 블루-그린과 카나리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 배포 이해하기
  2. ReplicaSets를 활용한 애플리케이션 확장
  3. 롤링 업데이트 및 롤백
  4. 배포 전략: 블루-그린과 카나리
← DevOps Bootcamp(으)로 돌아가기