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

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 オブジェクトに移行する必要があります。アップグレードの仕組みについては、リリースのドキュメントを確認してください。
警告 アップグレードする場合は、 Astra Trident が使用する「 torageClasses 」に「 parameter) .fsType 」を指定することが重要です。既存のボリュームを中断することなく、「 torageClasses 」を削除して再作成できます。これは、強制の 要件 です "セキュリティコンテキスト" SAN ボリュームの場合。。 directory には、などの例があります および。詳細については、を参照してください "既知の問題"

どのアップグレードパスを選択すればよいですか?

次のいずれかのパスを使用してアップグレードできます。

  • 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 ネームスペースをインストールまたはアップグレードするように指定できます。例を見てみましょう "こちらをご覧ください"