vSphere の クラウド ネイティブ ストレージ 環境について重要ないくつかの概念を理解しておきます。
- Kubernetes クラスタ
-
クラウド ネイティブ ストレージ 環境では、仮想マシンのクラスタに汎用 Kubernetes クラスタをデプロイできます。Kubernetes クラスタの上部で、コンテナ化されたアプリケーションを展開します。アプリケーションには、ステートフルまたはステートレスのいずれかの状態があります。
注: vSphere IaaS control plane で実行できる スーパーバイザー および Tanzu Kubernetes Grid の詳細については、『 vSphere IaaS 制御プレーンの概念と計画』ドキュメントを参照してください。
- ポッド
- ポッドは、ストレージやネットワークなどのリソースを共有する 1 つ以上のコンテナ化されたアプリケーションのグループです。ポッド内のコンテナは、グループとして開始、停止、および複製されます。
- コンテナ Orchestrator
- ホストのクラスタ間でコンテナ化されたアプリケーションを展開、拡張、および管理するための Kubernetes などのオープンソース プラットフォーム。プラットフォームは、コンテナを中心としたインフラストラクチャを提供します。
- ステートフル アプリケーション
- コンテナ アプリケーションがステートレスからステートフルに発展すると、永続的なストレージが必要になります。セッション間でデータを保存しないステートレス アプリケーションとは異なり、ステートフル アプリケーションはデータを永続的なストレージに保存します。保持されたデータは、アプリケーションの状態と呼ばれます。後でデータを取得し、次のセッションで使用することができます。ほとんどのアプリケーションはステートフルです。データベースは、ステートフル アプリケーションの一例です。
- PersistentVolume
-
ステートフル アプリケーションは、PersistentVolumes を使用してデータを保存します。PersistentVolume は、その状態とデータを保持できる Kubernetes ボリュームです。ポッドからは独立しており、ポッドが削除または再構成されても引き続き存在できます。vSphere 環境では、PersistentVolume オブジェクトは First Class Disk (FCD) タイプの vSphere 仮想ディスクまたは vSAN ファイル共有をバッキング ストレージとして使用します。First Class Disks は、IVD (Improved Virtual Disks) または管理対象仮想ディスクとも呼ばれます。
- 仮想ディスクは、ReadWriteOnce としてマウントされたボリュームをサポートします。これらのボリュームは、Kubernetes の単一ポッドでのみ使用できます。
vSphere 暗号化テクノロジーを使用して、パーシステント ボリュームをバッキングする FCD 仮想ディスクを保護することができます。詳細については、『vSphere クラウド ネイティブ ストレージでの暗号化の使用』を参照してください。
- vSAN ファイル共有は、多くのノードでマウントされている ReadWriteMany ボリュームをサポートします。これらのボリュームは、複数のポッド間、または Kubernetes ノードや Kubernetes クラスタで実行されているアプリケーション間で共有できます。ファイル共有で可能な構成の詳細については、vSAN ファイル サービスを使用した vSphere ファイル ボリュームのプロビジョニングを参照してください。
- 仮想ディスクは、ReadWriteOnce としてマウントされたボリュームをサポートします。これらのボリュームは、Kubernetes の単一ポッドでのみ使用できます。
- StorageClass
-
Kubernetes は、StorageClass を使用して、ストレージのさまざまな階層を定義し、PersistentVolume をバッキングするストレージの各種要件を記述します。vSphere 環境では、ストレージ クラスをストレージ ポリシーにリンクできます。vSphere 管理者は、さまざまなストレージ要件を記述したストレージ ポリシーを作成します。仮想マシン ストレージ ポリシーは、動的ボリューム プロビジョニングの StorageClass 定義の一部として使用されます。
次のサンプルの YAML ファイルは、以前に vSphere Client を使用して作成した Gold ストレージ ポリシーを示しています。作成されたパーシステント ボリューム VMDK は、Gold ストレージ ポリシー要件を満たす、互換性のあるデータストアに配置されます。
- PersistentVolumeClaim
- 通常、アプリケーションまたはポッドは PersistentVolumeClaim を介して永続的なストレージを要求できます。PersistentVolumeClaim では、ストレージのクラス、アクセス モード(ReadWriteOnce または ReadWriteMany)、PersistentVolume のその他のパラメータを指定します。この要求により、対応する PersistentVolume オブジェクトと、vSphere 環境で基盤となる仮想ディスクまたは vSAN ファイル共有を動的にプロビジョニングできます。