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 を、クラスタを対象としたオペレータを使用するリリースにダウングレードするには、次の手順に従います。
-
"Astra Trident をアンインストール"。 既存のインストールを完全に削除する場合を除き、 CRD を削除しないでください。
-
クラスタを対象とした演算子を削除します。これを行うには、オペレータを配置するために使用するマニフェストが必要です。から入手できます "Trident GitHub repo"。必要なブランチに切り替えていることを確認してください。
-
必要なバージョンの Astra Trident をインストールして、ダウングレードを続行します。目的のリリースのマニュアルに従ってください。
名前空間を対象とした演算子にダウングレードします
このセクションでは、名前空間を対象とした演算子を使用してインストールされる、 20.07 ~ 20.10 の範囲の Astra Trident リリースへのダウングレード手順を要約します。
-
"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
-
クラスタを対象とした演算子を削除します。これを行うには、オペレータを配置するために使用するマニフェストが必要です。このファイルは、から入手できます "Trident GitHub repo"。必要なブランチに切り替えていることを確認してください。
-
を削除します
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 がアンインストールされました。
-
目的のバージョンをインストールしてダウングレードを続行します。目的のリリースのマニュアルに従ってください。
Helm を使用してダウングレードしてください
ダウングレードするには、を使用します helm rollback
コマンドを実行します次の例を参照してください。
$ helm rollback trident [revision #]
を使用してAstra Tridentをインストールした場合のダウングレードプロセス tridentctl
を使用してAstra Tridentをインストールした場合 `tridentctl`をダウングレードするには、次の手順を実行します。このシーケンスに従って、 Astra Trident 21.07 から 20.07 に移行するためのダウングレードプロセスを順を追って説明します。
ダウングレードを開始する前に、Kubernetesクラスタのスナップショットを作成する必要があります etcd 。これにより、 Astra Trident の CRD の現在の状態をバックアップできます。
|
-
を使用してTridentがインストールされていることを確認します
tridentctl
。Astra Trident のインストール方法がわからない場合は、次の簡単なテストを実行してください。-
Trident ネームスペースにあるポッドを表示します。
-
クラスタで実行されている Astra Trident のバージョンを特定します。を使用できます
tridentctl
または、Tridentポッドで使用されるイメージを見てみましょう。 -
「* A」が表示されない場合
tridentOrchestrator
、(または)Atridentprovisioner
、(または)という名前のポッドtrident-operator-xxxxxxxxxx-xxxxx`を使用して、Astra Trident *をインストールします `tridentctl
。
-
-
既存のを使用して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.
-
これが完了したら、希望するバージョンの 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.
ダウングレードプロセスが完了します。