Astra Trident をアップグレード
Astra Trident は四半期ごとにリリースサイクルを実施し、毎年 4 つのメジャーリリースをリリースしています。各新しいリリースは、以前のリリースに基づいてビルドされ、新機能とパフォーマンスの強化に加え、バグの修正や改善点が追加されています。Astra Trident の新機能を活用するには、 1 年に 1 回以上アップグレードすることを推奨します。
5 つ先のリリースにアップグレードするには、複数の手順でアップグレードする必要があります。 |
アップグレード先のバージョンを確認します
-
にアップグレードできます
YY.MM
からリリースしますYY-1.MM
リリースとリリース間の関係。たとえば、 19.07 以降( 19.07.1 などのドットリリースを含む)から 20.07 への直接アップグレードを実行できます。 -
以前のリリースを使用している場合は、複数の手順からなるアップグレードを実行する必要があります。そのためには、最初に 4 つのリリースウィンドウに対応する最新リリースにアップグレードする必要があります。たとえば '18.07 を実行していて '20.07 リリースにアップグレードする場合は ' 次に示すように ' 複数ステップのアップグレード・プロセスを実行します
-
最初のアップグレードは 18.07 から 19.07 へ。特定のアップグレード手順については、該当するリリースのドキュメントを参照してください。
-
その後 '19.07 から 20.07 にアップグレードします
-
バージョン19.04以前のアップグレードでは、Astra Trident独自のメタデータを移行する必要があります etcd をCRDオブジェクトに追加します。アップグレードの仕組みについては、リリースのドキュメントを確認してください。
|
アップグレードするときは、この作業を行うことが重要です parameter.fsType インチ StorageClasses Astra Tridentが使用。削除して再作成することができます StorageClasses 実行前のボリュームの中断はなし。これは'SANボリュームに対してhttps://kubernetes.io/docs/tasks/configure-pod-container/security-context/[securityコンテキストを適用するための要件ですhttps://github.com/NetApp/trident/tree/master/trident-installer/sample-input[sample input]ディレクトリには、https://github.com/NetApp/trident/blob/master/trident-installer/sample-input/storage-class-samples/storage-class-basic.yaml.templなどの例が含まれています[storage-class-basic.yaml.templ )とリンク:https://github.com/NetApp/trident/blob/master/trident-installer/sample-input/storage-class-samples/storage-class-bronze-default.yaml[storage-class-bronze-default.yaml ^]をクリックします。詳細については、を参照してください "既知の問題"。 |
どのアップグレードパスを選択すればよいですか?
次のいずれかのパスを使用してアップグレードできます。
-
Trident 演算子を使用する。
-
を使用します
tridentctl
。
CSI のボリュームスナップショットは、 Kubernetes 1.20 以降の GA 機能になりました。Astra Trident をアップグレードする場合、アップグレードを実行する前に、以前のスナップショット CRS と CRD (ボリューム Snapshot クラス、ボリューム Snapshot 、ボリューム Snapshot コンテンツ)をすべて削除する必要があります。を参照してください "この blog" アルファスナップショットを beta/GA 仕様に移行する手順を理解する。 |
Trident のオペレータは、次の条件が満たされている場合にアップグレードできます。
-
CSI Trident を実行している( 19.07 以降)。
-
CRD ベースの Trident リリース( 19.07 以降)があります。
-
カスタム YAML を使用して ' カスタマイズされたインストールを実行することは できません
を使用している場合は、Tridentのアップグレードにオペレータを使用しないでください etcd - Tridentリリース(19.04以前)。
|
オペレータを使用しない場合や、オペレータがサポートできないカスタマイズされたインストールがある場合は、を使用してアップグレードできます tridentctl
。Trident リリース 19.04 以前では、これがアップグレードに推奨される方法です。
演算子に変更があります
Astra Trident の 21.01 リリースでは、アーキテクチャに関する次のような重要な変更がオペレータに導入されています。
-
演算子は * cluster を対象とした * になりました。Trident 演算子の以前のインスタンス(バージョン 20.04 ~ 20.10 )は、 * 名前空間スコープ * でした。クラスタを対象としたオペレータが有利な理由は次のとおりです。
-
リソースのアカウンタビリティ:オペレータは、 Astra Trident インストールに関連付けられたリソースをクラスタレベルで管理するようになりました。Astra Tridentのインストールの一環として、オペレータはを使用して複数のリソースを作成し、管理します
ownerReferences
。メンテナンスownerReferences
クラスタを対象としたリソースでは、OpenShiftなどの特定のKubernetesディストリビュータでエラーが発生する可能性があります。これは、クラスタを対象としたオペレータによって緩和されます。Trident リソースの自動修復とパッチ適用には、この要件が不可欠です。 -
アンインストール中のクリーンアップ: Astra Trident を完全に削除するには、関連するリソースをすべて削除する必要があります。ネームスペースを対象としたオペレータが、クラスタを対象としたリソース( clusterRole 、 ClusterRoleBinding 、 PodSecurityPolicy など)の削除で問題が発生し、クリーンアップが完了しない場合があります。クラスタを対象としたオペレータがこの問題を排除し、必要に応じて、 Astra Trident を完全にアンインストールし、 Aresh をインストールできます。
-
-
TridentProvisioner
がに置き換えられましたTridentOrchestrator
Astra Tridentのインストールと管理に使用したカスタムリソース。また、に新しいフィールドが導入されますTridentOrchestrator
仕様Tridentのネームスペースは、を使用してからインストールまたはアップグレードするように指定できますspec.namespace
フィールド。例を見てみましょう "こちらをご覧ください"。