ストレージ

GKE On-Prem は、VMware vSphere ストレージ、Kubernetes in-tree Volume プラグイン、Container Storage Interface(CSI)ドライバを介して、外部ブロック ストレージ システムまたはファイル ストレージ システムと統合されます。

vSphere ストレージ

デフォルトでは、GKE On-Prem の管理クラスタとユーザー クラスタの両方が vSphere ストレージを使用します。管理クラスタでは、etcd データ用に事前にプロビジョニングされた VMware データストアが必要です。

ユーザー クラスタを作成すると、GKE On-Prem は vSphere Kubernetes Volume プラグインを使用して、管理クラスタで使用される同じ VMware データストアに新しい仮想マシンディスク(VMDK)を動的にプロビジョニングします。この VMDK は、ユーザー クラスタの etcd データを保持します。

ユーザー クラスタのデフォルトの StorageClass は VMware データストアを参照します。デフォルトでは、ユーザー クラスタにプロビジョニングされる Kubernetes PersistentVolumes は、そのデータストアの VMDK です。これは管理クラスタで使用されるデータストアと同じである必要はありません。

管理クラスタとユーザー クラスタで使用される VMware データストアは、外部ストレージ配列などのブロック デバイス上の、NFS、vSAN、VMFS でサポート可能です。マルチホスト環境では、各ブロック デバイスを環境内のすべてのホストに接続し、データストアは Mount Datastore on Additional Hosts のオプション経由の各ホスト上で構成される必要があります。

GKE On-Prem では StatefulSet は vSphere ストレージを参照する StorageClasses でサポートされる PersistentVolumeClaims を使用します。

Kubernetes in-tree Volume プラグイン

Kubernetes には複数の in-tree Volume プラグインが用意されています。これらのいずれかを使用して、ステートフル ワークロードにブロック ストレージまたはファイル ストレージを提供するオプションがあります。In-tree プラグインを使用すると、vSphere ストレージを経由せずに、ワークロードをストレージに直接接続できます。

iSCSI、FC、NFS ストレージ デバイスでサポートされるデータストア内の Volume は自動的に動的プロビジョニングされますが、in-tree プラグインの多くは動的プロビジョニングをサポートしません。これらは PersistentVolume を手動で作成する必要があります。

次の表に、いくつかの in-tree Volume プラグインを示します。

in-tree Volume プラグイン説明サポートされるアクセスモード動的プロビジョニング
Fibre Channel汎用ストレージ プラグイン単一 Pod の読み取り / 書き込みいいえ
iSCSI汎用ストレージ プラグイン単一 Pod の読み取り / 書き込みいいえ
NFS汎用ストレージ プラグイン複数の Pod の読み取り / 書き込みいいえ
Ceph RBDオープンソースのソフトウェア定義のストレージ単一 Pod の読み取り / 書き込みはい
CephFSオープンソースのソフトウェア定義のストレージ複数の Pod の読み取り / 書き込みいいえ
Portworx独自仕様のソフトウェア定義のストレージ複数の Pod の読み取り / 書き込みはい
Quobyte独自仕様のソフトウェア定義のストレージ単一 Pod の読み取り / 書き込みはい
StorageOS独自仕様のソフトウェア定義のストレージ単一 Pod の読み取り / 書き込みはい

Container Storage Interface

Container Storage Interface(CSI)は Kubernetes がコンテナ化されたワークロードに任意のストレージ システムを公開できる標準 API です。CSI 互換のボリューム ドライバが Kubernetes クラスタにデプロイされている場合、ワークロードは、vSphere ストレージを経由せずにストレージに直接接続できます。

GKE On-Prem には、CSI v0.3 をサポートする Kubernetes 1.12 以降が用意されています。一部のストレージ ドライバはこの古いバージョンの CSI をサポートしており、これらのドライバを使用してステートフル ワークロードにブロック ストレージまたはファイル ストレージを提供できます。

今後の計画

今後のリリースでは、GKE On-Prem は Kubernetes 1.13 以降に付属し、CSI v1.0 ドライバをデプロイできるようになります。これにより、さらに多くのサードパーティ製ストレージ システムとの直接統合が可能になります。Google が認定し、GKE On-Prem と連携できることが検証済みの、おすすめのストレージ パートナーの一覧を提供します。

Google では、アプリケーション スナップショット、バックアップ、復元などのエンタープライズ ユースケースを可能にする高度なデータ管理インターフェースの開発に取り組んでいます。引き続きご注目ください。