互換性バージョン
Istioの新しいバージョンごとに、意図的な動作変更が行われる場合があります。これらは、セキュリティの向上、誤った動作の修正、またはユーザー向けのIstioの改善を目的としています。一般的に、これらのタイプの変更はエッジケースにのみ影響します。
長期的には有益ですが、各動作変更はアップグレード中にリスクをもたらします。従来、アップグレード時には、リリースノートで動作変更を確認し、影響を受けるかどうかを判断する必要がありました。これは面倒でエラーが発生しやすい可能性があります。
互換性バージョンを使用すると、リリースバージョンを動作変更から切り離すことができるため、ユーザーは追加のオプションを使用できます。たとえば、Istio 1.24をインストールできますが、1.23のように動作するように構成できます。
互換性バージョンの使用
互換性バージョンを使用するには、compatibilityVersion
フィールドを設定するだけです。
$ istioctl install --set values.compatibilityVersion=1.23
$ helm install ... --set compatibilityVersion=1.23
互換性バージョンはいつ使用すべきですか?
互換性バージョンは、デフォルトとしてではなく、非互換性が見つかった場合にのみ使用することが推奨されます。各互換性バージョンは数リリースのみ維持されるため、最終的には新しい動作に移行する必要があります。現在、各互換性バージョンは少なくとも2つのバージョンは維持される予定ですが、これは変更される可能性があります。
互換性バージョンを使用する必要があるかどうかを検出するために、istioctl x precheck
を --from-version
フラグとともに使用できます。たとえば、バージョン1.23からアップグレードする場合、
$ istioctl x precheck --from-version 1.23
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.dokyumento.jp/v1.21/docs/reference/config/analysis for more information about causes and resolutions.