オペレーターのアップグレードワークフローを理解する
Tridentオペレーターを使用してTrident をアップグレードする前に、アップグレード中に発生するバックグラウンド プロセスを理解しておく必要があります。これには、ローリング アップデートを有効にするTridentコントローラー、コントローラー Pod とノード Pod、およびノード DaemonSet への変更が含まれます。
Tridentオペレーターのアップグレード処理
数ある中の一つ"Tridentオペレータを使用する利点"Trident をインストールおよびアップグレードすると、既存のマウントされたボリュームを中断することなく、 Tridentおよび Kubernetes オブジェクトが自動的に処理されます。このようにして、Tridentはダウンタイムなしでアップグレードをサポートできます。"ローリングアップデート" 。特に、 Tridentオペレーターは Kubernetes クラスターと通信して次の操作を行います。
-
Tridentコントローラーのデプロイメントとノード DaemonSet を削除して再作成します。
-
Tridentコントローラー ポッドとTridentノード ポッドを新しいバージョンに置き換えます。
-
1 つのノードが更新されない場合でも、残りのノードの更新は妨げられません。
-
実行中のTrident Node Pod を持つノードのみがボリュームをマウントできます。
-
|
|
Kubernetesクラスタ上のTridentアーキテクチャの詳細については、以下を参照してください。"Tridentアーキテクチャ" 。 |
オペレーターのアップグレードワークフロー
Tridentオペレータを使用してアップグレードを開始すると、次のようになります。
-
トライデントTrident:
-
現在インストールされているTridentのバージョン (バージョン n) を検出します。
-
CRD、RBAC、 Trident SVC を含むすべての Kubernetes オブジェクトを更新します。
-
バージョン n のTridentコントローラーのデプロイメントを削除します。
-
バージョン n+1 のTridentコントローラーのデプロイメントを作成します。
-
-
Kubernetes は n+1 用のTridentコントローラー ポッドを作成します。
-
トライデントTrident:
-
n のTrident Node DaemonSet を削除します。オペレーターはノード ポッドの終了を待機しません。
-
n+1 のTrident Node Daemonset を作成します。
-
-
Kubernetes は、 Trident Node Pod n を実行していないノードにTrident Node Pod を作成します。これにより、ノード上に任意のバージョンのTrident Node Pod が 1 つしか存在しないことが保証されます。