제자리 업그레이드

제자리 업그레이드 (In-place Upgrades)

istioctl upgrade 명령으로 Istio를 업그레이드하는 방법을 알아봐요.

출처: Istio 문서

본문

istioctl upgrade 명령이 Istio 업그레이드를 수행해요.

업그레이드 명령은 Istio 다운그레이드도 수행할 수 있어요.

istioctl upgrade 명령이 제공하는 모든 옵션은 istioctl upgrade 참조를 참고하세요.

업그레이드 사전 요구사항

업그레이드 과정을 시작하기 전에 다음 사전 요구사항을 확인하세요:

  • 설치된 Istio 버전이 업그레이드 대상 버전보다 부 버전(minor version) 하나 이상 낮으면 안 돼요. 예를 들어 1.7.x로 업그레이드하기 전에는 1.6.0 이상이 필요해요.
  • Istio 설치는 istioctl로 설치된 것이어야 해요.

업그레이드 단계

이 섹션의 명령은 다운로드한 패키지의 bin/ 하위 디렉터리에서 찾을 수 있는 새 버전의 istioctl로 실행해야 해요.

  1. 새 Istio 릴리스를 다운로드하고 새 릴리스 디렉터리로 이동해요.
  2. Kubernetes 설정이 업그레이드할 클러스터를 가리키는지 확인해요:
$ kubectl config view
  1. 업그레이드가 환경과 호환되는지 확인해요.
$ istioctl x precheck
✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
To get started, check out https://istio.io/latest/docs/setup/getting-started/
  1. 다음 명령으로 업그레이드를 시작해요:
$ istioctl upgrade

--set 플래그로 Istio를 설치했다면, 업그레이드할 때 같은 --set 플래그를 전달해야 해요. 그렇지 않으면 --set으로 했던 커스터마이즈가 되돌아가요. 프로덕션에서는 --set 대신 설정 파일을 사용하는 것을 권장해요.

-f 플래그를 생략하면 Istio는 기본 프로필로 업그레이드해요.

몇 가지 검사를 수행한 뒤 istioctl이 진행할지 확인해 달라고 물어봐요. 5. istioctl이 Istio 컨트롤 플레인과 게이트웨이를 새 버전으로 제자리 업그레이드하고 완료 상태를 알려줘요. 6. istioctl이 업그레이드를 끝내면 Istio sidecar가 있는 모든 pod를 재시작해서 Istio 데이터 플레인을 수동으로 업데이트해야 해요:

$ kubectl rollout restart deployment

다운그레이드 사전 요구사항

다운그레이드 과정을 시작하기 전에 다음 사전 요구사항을 확인하세요:

  • Istio 설치는 istioctl로 설치된 것이어야 해요.
  • 다운그레이드하려는 Istio 버전이 설치된 Istio 버전보다 부 버전 하나 이상 낮아서는 안 돼요. 예를 들어 Istio 1.7.x에서 1.6.0보다 낮은 버전으로는 다운그레이드할 수 없어요.
  • 다운그레이드는 다운그레이드하려는 Istio 버전에 대응하는 istioctl 바이너리 버전으로 해야 해요. 예를 들어 Istio 1.7에서 1.6.5로 다운그레이드한다면 istioctl 1.6.5 버전을 사용하세요.

더 낮은 Istio 버전으로 다운그레이드하는 단계

istioctl upgrade로 더 낮은 Istio 버전으로 다운그레이드할 수 있어요. 단계는 이전 섹션에서 설명한 업그레이드 과정과 동일하며, 더 낮은 버전(예: 1.6.5)에 대응하는 istioctl 바이너리만 사용하면 돼요. 완료되면 Istio가 이전에 설치된 버전으로 복원돼요.

또는 istioctl install로 이전 버전의 Istio 컨트롤 플레인을 설치할 수도 있어요.

더 알아보기 (Learn more)