オペレータのアップグレードワークフローについて理解する
Tridentオペレータを使用してTridentをアップグレードする前に、アップグレード中に発生するバックグラウンドプロセスについて理解しておく必要があります。これには、Tridentコントローラ、コントローラポッドとノードポッド、およびローリング更新を可能にするノードデーモンセットに対する変更が含まれます。
Tridentオペレータのアップグレード処理
Tridentをインストールしてアップグレードするには"Tridentオペレータを使用するメリット"、既存のマウントボリュームを中断することなく、TridentオブジェクトとKubernetesオブジェクトを自動的に処理する必要があります。このようにして、Tridentはダウンタイムなしでアップグレードをサポートできます。"ローリング更新"TridentオペレータはKubernetesクラスタと通信して次のことを行います。
-
Trident Controller環境とノードデーモンセットを削除して再作成します。
-
TridentコントローラポッドとTridentノードポッドを新しいバージョンに置き換えます。
-
更新されていないノードは、残りのノードの更新を妨げません。
-
ボリュームをマウントできるのは、Trident Node Podを実行しているノードだけです。
-
KubernetesクラスタのTridentアーキテクチャの詳細については、を参照してください"Tridentのアーキテクチャ"。 |
オペレータのアップグレードワークフロー
Tridentオペレータを使用してアップグレードを開始すると、次の処理が実行されます。
-
Trident演算子*:
-
現在インストールされているTridentのバージョン(version_n_)を検出します。
-
CRD、RBAC、Trident SVCなど、すべてのKubernetesオブジェクトを更新
-
version_n_用のTrident Controller環境を削除します。
-
version_n+1_用のTrident Controller環境を作成します。
-
-
* Kubernetes *は、_n+1_用にTridentコントローラポッドを作成します。
-
Trident演算子*:
-
_n_のTridentノードデーモンセットを削除します。オペレータは、Node Podが終了するのを待たない。
-
_n+1_のTridentノードデーモンセットを作成します。
-
-
* Kubernetes * Trident Node Pod_n_を実行していないノードにTridentノードポッドを作成します。これにより、1つのノードに複数のTrident Node Pod(バージョンに関係なく)が存在することがなくなります。