vSphere with Tanzu はいくつかのコンポーネントを使用して、vSphere ストレージと統合します。
- vCenter Server 上のクラウド ネイティブ ストレージ (CNS)
- CNS コンポーネントは、 vCenter Server に配置されます。これは、パーシステント ボリュームのプロビジョニングとライフサイクルの操作を実装する vCenter Server 管理の拡張機能です。
- 最初のクラス ディスク (FCD)
-
強化された仮想ディスクとも呼ばれます。これは、仮想マシンと関連付けられていない名前付き仮想ディスクです。これらのディスクは、VMFS、NFS、または vSAN データストア、およびバック ReadWriteOnce パーシステント ボリュームに配置されます。
FCD テクノロジーは、仮想マシンまたはポッドのライフサイクル外でパーシステント ボリュームに関連するライフサイクル操作を実行します。
FCD を使用する場合は、次の点に注意してください。- FCD は NFS 4.x プロトコルをサポートしません。代わりに、NFS 3 を使用してください。
- vCenter Server は、同じ FCD での操作をシリアル化しません。したがって、アプリケーションは同じ FCD で複数の操作を同時に実行できません。複数のスレッドからクローン作成、再配置、削除、取得などの操作を同時に実行すると、予期しない結果になります。問題を回避するには、アプリケーションが同じ FCD で操作を実行するときに、順番に実行する必要があります。
- FCD は管理対象オブジェクトではなく、単一 FCD への複数の書き込みから保護するグローバル ロックをサポートしていません。したがって、複数の vCenter Server インスタンスで同じ FCD を管理することはできません。FCD で複数の vCenter Server インスタンスを使用する必要がある場合は、次の方法を使用できます。
- 複数の vCenter Server インスタンスで複数のデータストアを管理できます。
- 複数の vCenter Server インスタンスが同じ FCD で動作することはありません。
- ストレージ ポリシー ベースの管理
- ストレージ ポリシー ベースの管理は、ストレージ ポリシーに記述されているストレージ要件に従って、パーシステント ボリュームとそのバッキング仮想ディスクのプロビジョニングをサポートする、 vCenter Server サービスです。プロビジョニング後、サービスは、ストレージ ポリシー特性に対するボリュームのコンプライアンスを監視します。ストレージ ポリシー ベースの管理の詳細については、「 ストレージ ポリシー ベースの管理」を参照してください。
- vSphere CNS-CSI
- vSphere CNS-CSI コンポーネントは、コンテナ ストレージ インターフェイス (CSI) 仕様に準拠しています。これは、Kubernetes のようなコンテナ オーケストレータによってパーシステント ストレージのプロビジョニングに使用されるインターフェイスを提供するために設計された業界標準です。CNS-CSI は スーパーバイザー クラスタ で実行され、vSphere ストレージを vSphere 名前空間 の Kubernetes 環境に接続します。vSphere CNS-CSI は、 vSphere ポッド と名前空間の Tanzu Kubernetes クラスタで実行されているポッドから送信される、すべてのストレージ プロビジョニング要求について、CNS 制御プレーンと直接通信します。
- 準仮想化 CSI (pvCSI)
- pvCSI は Tanzu Kubernetes クラスタ用に変更された vSphere CNS-CSI ドライバのバージョンです。pvCSI は Tanzu Kubernetes クラスタに配置され、 Tanzu Kubernetes クラスタから送信されるすべてのストレージ関連の要求に対処します。要求は CNS-CSI に配信され、 vCenter Server の CNS に伝達されます。その結果、pvCSI は CNS コンポーネントとの直接通信は行わず、すべてのストレージ プロビジョニング操作に CNS-CSI を使用します。
次の図は、DevOps エンジニアが Tanzu Kubernetes クラスタ内でストレージ関連の操作(たとえば、パーシステント ボリューム要求 (PVC) の作成)を実行するときに、さまざまなコンポーネントがどのように相互作用するかを示しています。
DevOps エンジニアは、Tanzu Kubernetes クラスタでコマンド ラインを使用して PVC を作成します。このアクションにより、対応する PVC がスーパーバイザー クラスタに生成され、CNS-CSI がトリガされます。CNS-CSI は、CNS ボリューム作成 API を呼び出します。
ボリュームの作成が正常に完了すると、操作はスーパーバイザー クラスタを介して元の Tanzu Kubernetes クラスタに伝達されます。この伝達の結果、ユーザーは、スーパーバイザー クラスタでバインド状態のパーシステント ボリュームとパーシステント ボリュームの要求を確認できます。また、バインド状態のパーシステント ボリュームとパーシステント ボリュームの要求は Tanzu Kubernetes クラスタでも確認できます。