Astra Trident をアップグレード
Astra Trident は四半期ごとにリリースサイクルを実施し、毎年 4 つのメジャーリリースをリリースしています。各新しいリリースは、以前のリリースに基づいてビルドされ、新機能とパフォーマンスの強化に加え、バグの修正や改善点が追加されています。Astra Trident の新機能を活用するには、 1 年に 1 回以上アップグレードすることを推奨します。
5 つ先のリリースにアップグレードするには、複数の手順でアップグレードする必要があります。 |
アップグレード先のバージョンを確認します
-
YY-1.mm' リリースから 'YY.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 を使用して ' カスタマイズされたインストールを実行することは できません
etcd' ベースの Trident リリース( 19.04 以前)を使用している場合は、 Trident のアップグレードにオペレータを使用しないでください。 |
オペレータを使用しない場合 ' またはオペレータがサポートできないカスタマイズされたインストールを使用している場合は '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 は、 Astra Trident のインストールと管理に使用されるカスタムリソースとして、 TridentOrchestrator に置き換えられました。さらに、「 TridentOrchestrator 」の仕様に新しいフィールドが追加されました。ユーザは、「 pec.namespace` 」フィールドを使用して Trident ネームスペースをインストールまたはアップグレードするように指定できます。例を見てみましょう "こちらをご覧ください"。