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