GKE on Bare Metal では、複数のストレージ構成を使用できます。また、次の Kubernetes オブジェクトを介したブロック ストレージとファイル ストレージ管理用のインターフェースを備えています。
Kubernetes Volumes によるエフェメラル ストレージ
Kubernetes Volume
リソースは、Pod
内のコンテナにアクセス可能なストレージ ユニットです。エフェメラル ストレージでは、次のボリューム タイプをサポートします。
エフェメラル ストレージ タイプは、Pod が存在しなくなった後は保持されません。エフェメラル ストレージは、構成情報の保存および、アプリケーションのキャッシュ領域として使用します。
エフェメラル ストレージ タイプは、ノードのブートディスクとリソースを共有し、使用します。CPU やメモリリソースの管理と同じ方法で、ローカルのエフェメラル ストレージ リソースを管理できます。
PersistentVolume
リソースを使用した永続ストレージ
Kubernetes PersistentVolume
は、Pod
が耐久性のあるストレージとして使用できるリソースです。永続ボリュームの存続期間は Pod の存続期間とは無関係です。したがって、永続ボリュームのディスクとデータは、クラスタを変更しても、Pod を削除、再作成しても、引き続き存在します。PersistentVolume
リソースを PersistentVolumeClaims
API を通じて動的にプロビジョニングすることも、クラスタ管理者が明示的に作成することもできます。
GKE on Bare Metal では、Container Storage Interface(CSI)ドライバやローカル ボリュームなど、さまざまなストレージ システムを使用して、永続ストレージをサポートできます。
Container Storage Interface(CSI)ドライバ
GKE on Bare Metal は、CSI v1.0 ドライバと互換性があります。CSI は、多くの大手ストレージ ベンダーがサポートするオープン標準のインターフェースです。本番環境のストレージの場合、GDCV Ready ストレージ パートナーから CSI ドライバをインストールします。 GDCV Ready ストレージ パートナーの全一覧については、GDCV Ready ストレージ パートナーをご覧ください。
クラスタで CSI を使用するには、ストレージ ベンダーからクラスタに提供される CSI ドライバをデプロイします。次に、StorageClass
API で CSI ドライバを使用するようにワークロードを構成するか、StorageClass
をデフォルト API として設定します。
ローカル ボリューム
概念実証と高度なユースケースには、ローカルの PersistentVolume リソースを使用できます。GKE on Bare Metal は、sig-storage-local-static-provisioner をバンドルし、各ノードのマウント ポイントを検出して、マウント ポイントごとにローカル永続ボリュームを作成します。
GKE on Bare Metal は、ローカル ボリューム プロビジョナー(LVP)を使用してローカルの永続ボリュームを管理します。GKE on Bare Metal クラスタのローカル永続ボリューム用に、次の 3 種類のストレージ クラスを使用できます。
- LVP 共有
- LVP ノードマウント
- Anthos システム
LVP 共有
このオプションは、ローカルおよび共有ファイル システムのサブディレクトリが後ろにあるローカル永続ボリュームを作成します。これらのサブディレクトリは、クラスタを作成すると自動的に生成されます。このストレージ クラスを使用するワークロードは、同じ共有ファイル システムで永続ボリュームを支えているため、容量と 1 秒あたりの入出力オペレーション(IOPS)を共有します。きれいに分離させるには、LVP ノードマウントを介してディスクを構成します。
詳細については、LVP 共有の構成をご覧ください。
LVP ノードマウント
この選択肢では、構成したディレクトリに、マウントされた各ディスクに対してローカル永続ボリュームを作成します。各ディスクは、クラスタの作成前または作成後にフォーマットしてマウントする必要があります。
詳細については、LVP ノードマウントの構成をご覧ください。
Anthos システム
このストレージ クラスは、クラスタの作成時に事前構成され、Anthos システム Pod が使用するローカル永続ボリュームを作成します。ストレージ クラスの名前は anthos-system
です。このストレージ クラスの変更や削除は行わないでください。また、このストレージ クラスは、ステートフル ワークロードに使用しないでください。
次のステップ
- ボリュームについて学習する。
- Kubernetes の Container Storage Interface について学習する。
- ボリュームのスナップショットを作成する方法を学習する。
- 永続ボリュームの容量を増やす方法を学習する。