카나리 업그레이드
카나리 업그레이드 (Canary Upgrades)
새 컨트롤 플레인의 카나리 배포를 사용해서 Istio를 업그레이드하는 방법을 알려드려요.
출처: Istio 문서
본문
이 작업은 새 컨트롤 플레인의 카나리 배포로 Istio를 업그레이드하는 방법을 보여줘요.
시작하기 전에
카나리 업그레이드와 제자리 업그레이드 문서를 확인해서 요구 사항에 맞는 최선의 전략을 결정하세요.
새 revision을 설치하려면, 이전 컨트롤 플레인과 같은 설치 방법을 사용해서 새 revision의 Istio 컨트롤 플레인을 설치하는 것부터 시작해요. 참고: 아래 명령들은 istioctl 설치 방법을 보여줘요. helm 방법으로 업그레이드하려면 Helm으로 업그레이드하기를 참고하세요.
업그레이드 단계:
- 새 컨트롤 플레인용 네임스페이스를 만들어요
$ kubectl create ns istio-system-canary
- 새 네임스페이스에 Istio revision을 설치해요 (예: 1-31-1)
$ istioctl install --revision=1-31-1 --set profile=... # install the new revision
- 새 컨트롤 플레인이 정상인지 검증해요
$ 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로의 카나리 업그레이드를 보여줘요.
정리
카나리 업그레이드가 완료된 후에는 이전 컨트롤 플레인을 정리하는 절차를 따라요.