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

Trident をダウングレード

共同作成者

旧バージョンの Astra Trident にダウングレードする手順をご確認ください。

次のような理由でダウングレードを検討してください。

  • 危機管理計画

  • アップグレードの結果として見つかったバグの即時修正

  • 依存関係の問題、失敗したアップグレード、および不完全なアップグレード

ダウングレードするタイミング

CRD を使用する Astra Trident リリースに移行する場合は、ダウングレードを検討する必要があります。Astra Tridentは現在、ステートの維持にCRDを使用するため、作成されたすべてのストレージエンティティ(バックエンド、ストレージクラス、PV、ボリュームスナップショット)には、に書き込まれるデータではなく、関連するCRDオブジェクトが含まれています trident PV(以前にインストールしたAstra Tridentのバージョンで使用)新しく作成された PVS 、バックエンド、およびストレージクラスはすべて CRD オブジェクトとして管理されます。ダウングレードが必要な場合は、 CRD ( 19.07 以降)を使用して実行されている Astra Trident のバージョンに対してのみ実行してください。これは、ダウングレードの実行後に、現在の Astra Trident リリースで実行されたすべての処理が認識されるようにするためです。

ダウングレードしない場合

を使用するTridentのリリースにダウングレードしないでください etcd 状態を維持するため(19.04以前)。現在の Astra Trident リリースで実行したすべての処理は、ダウングレード後に反映されません。以前のバージョンに戻す場合、新しく作成した PVS は使用できません。バックエンド、 PVS 、ストレージクラス、ボリューム Snapshot (作成 / 更新 / 削除)などのオブジェクトに加えられた変更は、以前のバージョンに戻すと Astra Trident には表示されません。以前のバージョンに戻しても、アップグレードされていないかぎり、以前のリリースを使用してすでに作成された PVS へのアクセスは中断されません。

Operator を使用して Astra Trident をインストールする場合のダウングレードプロセス

Trident Operatorを使用したインストールの場合、ダウングレードプロセスは異なり、を使用する必要はありません tridentctl

Trident オペレータを使用してインストールを完了した場合は、 Astra Trident を次のいずれかにダウングレードできます。

  • 名前空間を対象とした演算子( 20.07-2010 )を使用してインストールされるバージョン。

  • クラスタを対象とした演算子( 21.01 以降)を使用してインストールされるバージョン。

クラスタを対象とした演算子にダウングレードします

Astra Trident を、クラスタを対象としたオペレータを使用するリリースにダウングレードするには、次の手順に従います。

手順
  1. "Astra Trident をアンインストール" 既存のインストールを完全に削除する場合を除き、 CRD を削除しないでください。

  2. クラスタを対象とした演算子を削除します。これを行うには、オペレータを配置するために使用するマニフェストが必要です。から入手できます "Trident GitHub repo"。必要なブランチに切り替えていることを確認してください。

  3. 必要なバージョンの Astra Trident をインストールして、ダウングレードを続行します。目的のリリースのマニュアルに従ってください。

名前空間を対象とした演算子にダウングレードします

このセクションでは、名前空間を対象とした演算子を使用してインストールされる、 20.07 ~ 20.10 の範囲の Astra Trident リリースへのダウングレード手順を要約します。

手順
  1. "Astra Trident をアンインストール"既存のインストールを完全に削除する場合を除き、CRDを削除しないでください。必ずを確認してください tridentorchestrator が削除されました。

    #Check to see if there are any tridentorchestrators present
    kubectl get torc
    NAME        AGE
    trident     20h
    
    #Looks like there is a tridentorchestrator that needs deleting
    kubectl delete torc trident
    tridentorchestrator.trident.netapp.io "trident" deleted
  2. クラスタを対象とした演算子を削除します。これを行うには、オペレータを配置するために使用するマニフェストが必要です。このファイルは、から入手できます "Trident GitHub repo"。必要なブランチに切り替えていることを確認してください。

  3. を削除します tridentorchestrator CRD。

    #Check to see if ``tridentorchestrators.trident.netapp.io`` CRD is present and delete it.
    
    kubectl get crd tridentorchestrators.trident.netapp.io
    
    NAME                                     CREATED AT
    tridentorchestrators.trident.netapp.io   2021-01-21T21:11:37Z
    
    kubectl delete crd tridentorchestrators.trident.netapp.io
    
    customresourcedefinition.apiextensions.k8s.io "tridentorchestrators.trident.netapp.io" deleted

    Astra Trident がアンインストールされました。

  4. 目的のバージョンをインストールしてダウングレードを続行します。目的のリリースのマニュアルに従ってください。

Helm を使用してダウングレードしてください

ダウングレードするには、を使用します helm rollback コマンドを実行します次の例を参照してください。

helm rollback trident [revision #]

を使用してAstra Tridentをインストールした場合のダウングレードプロセス tridentctl

を使用してAstra Tridentをインストールした場合 `tridentctl`をダウングレードするには、次の手順を実行します。このシーケンスに従って、 Astra Trident 21.07 から 20.07 に移行するためのダウングレードプロセスを順を追って説明します。

メモ ダウングレードを開始する前に、Kubernetesクラスタのスナップショットを作成する必要があります etcd。これにより、 Astra Trident の CRD の現在の状態をバックアップできます。
手順
  1. を使用してTridentがインストールされていることを確認します tridentctl。Astra Trident のインストール方法がわからない場合は、次の簡単なテストを実行してください。

    1. Trident ネームスペースにあるポッドを表示します。

    2. クラスタで実行されている Astra Trident のバージョンを特定します。を使用できます tridentctl または、Tridentポッドで使用されるイメージを見てみましょう。

    3. 「* A」が表示されない場合 tridentOrchestrator、(または)A tridentprovisioner、(または)という名前のポッド trident-operator-xxxxxxxxxx-xxxxx`を使用して、Astra Trident *をインストールします `tridentctl

  2. 既存のを使用してAstra Tridentをアンインストール tridentctl バイナリ。この場合は、 21.07 バイナリを使用してアンインストールします。

    tridentctl version -n trident
    +----------------+----------------+
    | SERVER VERSION | CLIENT VERSION |
    +----------------+----------------+
    | 21.07.0        | 21.07.0        |
    +----------------+----------------+
    
    tridentctl uninstall -n trident
    INFO Deleted Trident deployment.
    INFO Deleted Trident daemonset.
    INFO Deleted Trident service.
    INFO Deleted Trident secret.
    INFO Deleted cluster role binding.
    INFO Deleted cluster role.
    INFO Deleted service account.
    INFO Deleted pod security policy.                  podSecurityPolicy=tridentpods
    INFO The uninstaller did not delete Trident's namespace in case it is going to be reused.
    INFO Trident uninstallation succeeded.
  3. これが完了したら、希望するバージョンの Trident バイナリ(この例では 20.07 )を取得し、 Astra Trident のインストールに使用します。のカスタム YAML を生成できます "カスタマイズされたインストール" 必要に応じて、

    cd 20.07/trident-installer/
    ./tridentctl install -n trident-ns
    INFO Created installer service account.            serviceaccount=trident-installer
    INFO Created installer cluster role.               clusterrole=trident-installer
    INFO Created installer cluster role binding.       clusterrolebinding=trident-installer
    INFO Created installer configmap.                  configmap=trident-installer
    ...
    ...
    INFO Deleted installer cluster role binding.
    INFO Deleted installer cluster role.
    INFO Deleted installer service account.

    ダウングレードプロセスが完了します。