호환 버전
호환 버전 (Compatibility Versions)
Istio의 각 새 버전에는 의도적인 동작 변경이 있을 수 있어요. 보안을 개선하거나, 잘못된 동작을 고치거나, 그 외에 사용자를 위해 Istio를 개선하기 위한 것이죠. 일반적으로 이런 유형의 변경은 엣지 케이스에만 영향을 줘요.
출처: Istio 문서
본문
장기적으로는 유익하지만, 각 동작 변경은 업그레이드 중 리스크를 만들어내요. 역사적으로 업그레이드 시 사용자는 릴리스 노트를 읽고 동작 변경이 있는지, 자기에게 영향을 주는지 판단해야 했어요. 이는 지루하고 오류가 발생하기 쉬운 작업이에요.
호환 버전은 사용자에게 추가 옵션을 제공해서, 릴리스 버전을 동작 변경으로부터 분리할 수 있게 해줘요. 예를 들어 Istio 1.31을 설치하면서도 1.30처럼 동작하도록 구성할 수 있어요.
호환 버전 사용하기 (Using compatibility versions)
호환 버전을 사용하려면 간단히 compatibilityVersion 필드를 설정하면 돼요.
IstioOperator:
$ istioctl install --set values.compatibilityVersion=1.30
Helm:
$ helm install ... --set compatibilityVersion=1.30
언제 호환 버전을 써야 하나요? (When should I use compatibility versions?)
호환 버전은 릴리스 사이에 비호환성이 존재할 때만 임시 조치로 사용해야 해요. 가능한 한 빨리 새 동작으로 마이그레이션할 계획을 세워야 해요.
특정 릴리스를 위한 호환 버전은, 그 릴리스가 지원 종료(EOL)에 도달하면 제거되고 더 이상 지원되지 않아요. 특정 릴리스의 상태는 현재 Istio 릴리스 지원 상태 차트를 참고해요.
호환 버전을 사용해야 하는지 감지하는 데 도움이 되도록, istioctl x precheck를 --from-version 플래그와 함께 사용할 수 있어요. 예를 들어 1.30 버전에서 업그레이드하는 경우:
$ istioctl x precheck --from-version 1.30
Warning [IST0168] (DestinationRule default/tls) The configuration "ENABLE_AUTO_SNI" changed in release 1.20: previously, no SNI would be set; now it will be automatically set. Or, install with `--set compatibilityVersion=1.20` to retain the old default.
Error: Issues found when checking the cluster. Istio may not be safe to install or upgrade.
See https://istio.io/v1.21/docs/reference/config/analysis for more information about causes and resolutions.
See also
고급 Helm 차트 커스터마이즈 — helm으로 설치할 때 설치 구성 옵션을 커스터마이즈하는 방법.
설치 구성 커스터마이즈 — 설치 구성 옵션을 커스터마이즈하는 방법.
설치 구성 프로파일 — 내장된 Istio 설치 구성 프로파일 설명.
Istio 릴리스 다운로드 — Istio를 설치하고 탐색하는 데 필요한 파일들을 받는 방법.
메시 외부에 Istio 컨트롤 플레인 배포 — Istio를 위한 새로운 배포 모델.
카나리 컨트롤 플레인 배포로 Istio 안전하게 업그레이드 — 컨트롤 플레인의 안전한 카나리 배포를 제공해 Istio 업그레이드를 단순화하기.