日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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 ボリュームの場合。。 "入力例:" directory には、などの例があります[storage-class-basic.yaml.templ]および[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 フィールド。例を見てみましょう "こちらをご覧ください"

詳細については、こちらをご覧ください