ストレージの概要

Google Kubernetes Engine(GKE)で動作するアプリケーション向けに、いくつかのストレージ オプションがあります。柔軟性と使いやすさの観点から、さまざまなオプションを選択できます。Google Cloud は、さまざまなニーズに特化したストレージ ソリューションを提供します。これら以外にも、Kubernetes には、クラスタにストレージを提供するために使用できるストレージの抽象化機能が用意されています。

マネージド オプション

最も簡単なストレージ オプションは、Google Cloud のマネージド ストレージ プロダクトです。

データベースが必要な場合は、Google Cloud SQLCloud Datastore、または Cloud Spanner を検討してください。オブジェクト ストレージ用には Google Cloud Storage を使用できます。非公開の Docker コンテナ イメージを Container Registry に保存します。

管理されたネットワーク接続ストレージ(NAS)がアプリケーションで必要となる場合は、Cloud Filestore を使用します。POSIX と互換性のあるファイル ストレージが必要な場合は、Compute Engine 上でファイル サーバーを使用できます。アプリケーションにブロック ストレージが必要な場合は、永続ディスクを使用します。永続ディスクは手動でプロビジョニングできます。また、Kubernetes でディスクを動的にプロビジョニングすることもできます(以下の「PersistentVolume」を参照)。

Google Cloud で利用可能なストレージ ソリューションの全リストと比較については、ストレージ オプションの選択ガイドをご覧ください。

Kubernetes のストレージ抽象化

Kubernetes のストレージ抽象化によって、ファイル システムとブロックベースのストレージがポッドに提供されます。ストレージ抽象化は、マネージド データベースや Cloud Storage では使用されません。

ボリューム
ボリュームは、ポッド内のコンテナにアクセス可能なストレージ ユニットです。いくつかのボリューム タイプは、一時ストレージを使用します。一時ストレージ タイプ(emptyDirconfigMapsecrets など)は、ポッドが存在しなくなった後は保持されません。これらのタイプは、設定情報を保存する場合や、アプリケーションの一時的な領域として便利です。CPU やメモリリソースと同じ方法で、ローカル一時ストレージ リソースを管理できます。その他のボリューム タイプは耐久性の高いストレージを利用します。
PersistentVolume
永続ボリュームは、ポッドで耐久性の高いストレージとして使用できるクラスタ リソースです。PersistentVolumesClaims を使用すると、永続ボリュームを動的にプロビジョニングできます。この永続ボリュームは、クラスタで使用される Compute Engine 永続ディスクを利用します。また、PersistentVolumeClaims を使用すると、NFS などの他のタイプのバッキング ストレージをプロビジョニングできます。