5.7. CSI の自動移行
従来 OpenShift Container Platform に同梱されていた in-tree のストレージドライバーは非推奨となり、同等の Container Storage Interface (CSI) ドライバーに置き換えられます。OpenShift Container Platform は、ツリー内ボリュームプラグインの同等の CSI ドライバーへの自動移行を提供します。
5.7.1. 概要
この機能は、ツリー内ストレージプラグインを使用してプロビジョニングされたボリュームを、対応するコンテナーストレージインターフェイス (CSI) ドライバーに自動的に移行します。
このプロセスはデータ移行を実行しません。OpenShift Container Platform は、メモリー内の永続ボリュームオブジェクトしか変換しません。その結果、変換された永続ボリュームオブジェクトはディスクに保存されず、その内容も変更されません。CSI 自動マイグレーションはシームレスに行ってください。この機能により、既存のすべての API オブジェクト (例: PersistentVolume、PersistentVolumeClaim、および StorageClass) を使用する方法が変更されることはありません。
次のツリー内ドライバーから CSI ドライバーが自動的に移行されます。
- Azure Disk
- OpenStack Cinder
- Amazon Web Services (AWS) Elastic Block Storage (EBS)
- Google Compute Engine Persistent Disk (GCP PD)
- Azure File
- VMware vSphere (vSphere の特定の移行動作については、以下の情報を参照してください)
これらのボリュームタイプの CSI 移行は一般提供 (GA) であるとみなされ、手動の介入は必要ありません。
元のツリー内ストレージプラグインがサポートしていない場合、ツリー内永続ボリューム (PV) または永続ボリュームクレーム (PVC) の CSI 自動移行では、スナップショットや拡張などの新しい CSI ドライバー機能は有効になりません。
5.7.2. ストレージクラスへの影響
新規の OpenShift Container Platform 4.13 以降のインストールでは、デフォルトのストレージクラスは CSI ストレージクラスになります。このストレージクラスを使用してプロビジョニングされるすべてのボリュームは CSI 永続ボリューム (PV) です。
4.12 以前から 4.13 にアップグレードされたクラスターの場合、CSI ストレージクラスが作成され、アップグレード前にデフォルトのストレージクラスが設定されていない場合にはそれがデフォルトに設定されます。ごく稀なケースとして、同じ名前のストレージクラスがある場合、既存のストレージクラスは変更されません。既存の in-tree(インツリー) ストレージクラスはそのまま残り、既存の in-tree PV で機能するボリューム拡張などの特定の機能で必要になる場合があります。in-tree(インツリー) ストレージプラグインを参照するストレージクラスは機能し続けますが、デフォルトのストレージクラスを CSI ストレージクラスに切り替えることが推奨されます。
デフォルトのストレージクラスを変更するには、デフォルトのストレージクラスの変更 を参照してください。
5.7.3. vSphere の自動移行
5.7.3.1. OpenShift Container Platform の新規インストール
OpenShift Container Platform 4.13 以降の新規インストールの場合、自動移行はデフォルトで有効になっています。
5.7.3.2. OpenShift Container Platform のアップグレード
OpenShift Container Platform 4.12 以前から 4.13 にアップグレードする場合、vSphere の自動 CSI 移行は、オプトインした場合にのみ発生します。
移行を選択する前に、次の結果を慎重に確認してください。
- 移行の失敗を引き起こす可能性がある既知の問題が発生する可能性があります。
- 移行を有効にすると元に戻すことはできません。
- クラスター上のノードの数によっては、移行が完了するまでに時間がかかる場合があります。
- 移行は破壊的なプロセスです。Machine Config Operator (MCO) は kubelet を更新する必要があります。これは、新しい MachineConfig を各マシンにロールアウトするときに各ノードの機能を低下させることを意味します。
5.7.3.2.1. Web コンソールを使用して自動 CSI 移行をオプトインする
5.7.3.2.1.1. 前提条件
- OpenShift Container Platform Web コンソールにアクセスできる。
- クラスター管理者権限でクラスターにアクセスできる。
5.7.3.2.1.1.1. 手順
vSphere の自動 CSI 移行をオプトインするには:
- Web コンソールにログインします。
- Administration → CustomResourceDefinitions をクリックします。
-
CustomResourceDefinitions ページで、Storage と入力して
ストレージカスタムリソース (CR) を見つけます。 - Storage CR をクリックします。
- storages.operator.openshift.io ページで、Instances タブをクリックします。
- 目的のインスタンスの名前をクリックし、YAML タブをクリックします。
次の例に示すように、
spec.vsphereStorageDriverパラメーターをCSIWithMigrationDriverに設定します。.... spec: logLevel: Normal managementState: Managed operatorLogLevel: Normal vsphereStorageDriver: CSIWithMigrationDriver 1 ...- 1
spec.vsphereStorageDriverパラメーターをCSIWithMigrationDriverに設定
- Save をクリックします。
5.7.3.2.2. CLI を使用して自動 CSI 移行をオプトインする
5.7.3.2.2.1. 前提条件
- クラスター管理者権限でクラスターにアクセスできる。
5.7.3.2.2.2. 手順
vSphere の自動 CSI 移行をオプトインするには、次のコマンドを実行します。
oc patch storage cluster --type=merge -p '{"spec":{"vsphereStorageDriver":"CSIWithMigrationDriver"}}'
Storage オブジェクトで VSphereMigrationControllerAvailable 条件が true に設定されていることを確認することで、移行がいつ完了したかを判断できます。