카나리 업그레이드

카나리 업그레이드 (Canary Upgrades)

새 컨트롤 플레인의 카나리 배포를 사용해서 Istio를 업그레이드하는 방법을 알려드려요.

출처: Istio 문서

본문

이 작업은 새 컨트롤 플레인의 카나리 배포로 Istio를 업그레이드하는 방법을 보여줘요.

시작하기 전에

카나리 업그레이드와 제자리 업그레이드 문서를 확인해서 요구 사항에 맞는 최선의 전략을 결정하세요.

새 revision을 설치하려면, 이전 컨트롤 플레인과 같은 설치 방법을 사용해서 새 revision의 Istio 컨트롤 플레인을 설치하는 것부터 시작해요. 참고: 아래 명령들은 istioctl 설치 방법을 보여줘요. helm 방법으로 업그레이드하려면 Helm으로 업그레이드하기를 참고하세요.

업그레이드 단계:

  1. 새 컨트롤 플레인용 네임스페이스를 만들어요
$ kubectl create ns istio-system-canary
  1. 새 네임스페이스에 Istio revision을 설치해요 (예: 1-31-1)
$ istioctl install --revision=1-31-1 --set profile=...  # install the new revision
  1. 새 컨트롤 플레인이 정상인지 검증해요
$ kubectl get pods -n istio-system-canary

설정

워크로드가 새 revision(1-31-1)을 사용하도록 설정해요:

$ istioctl proxy-status  # verify which revision each workload is using

카나리 업그레이드가 실패하면?

카나리 업그레이드가 실패하면 워크로드를 이전 컨트롤 플레인으로 롤백해야 해요.

istio.io/rev 라벨을 설정할 수 없다면 이전 버전의 Istio를 쓰고 있을 수 있어요. 아래 워크로드 업그레이드 섹션의 요구 사항을 확인하세요. 이 업그레이드 단계는 Istio 1.31.0에서 1.31.1로의 카나리 업그레이드를 보여줘요.

정리

카나리 업그레이드가 완료된 후에는 이전 컨트롤 플레인을 정리하는 절차를 따라요.

더 알아보기 (Learn more)