ストレージの概要

Kubernetes オブジェクトを使用して、GKE on AWS で実行されるワークロードに永続ストレージを作成します。

GKE on AWS ワークロードでの永続ストレージの使用

GKE on AWS では、Kubernetes PersistentVolume(PV)、PersistentVolumeClaim(PVC)、StorageClass リソースを使用して、ワークロードに永続ファイルとブロック ストレージを提供します。VolumeSnapshot リソースと VolumeSnapshotClass リソースを使用して、永続ストレージのスナップショットを作成できます。スナップショットは AWS アカウントに保存されます。

StorageClass

クラスタにはデフォルトの Kubernetes StorageClass があり、これにより、AWS Elastic ブロック ストレージ(EBS)Volume のワークロードにステートフル ストレージが動的にプロビジョニングされます。カスタム StorageClass を使用して、他の種類の Volume をプロビジョニングすることもできます。これらのオプションについては、次のセクションで説明します。

VolumeSnapshotClass

クラスタにはデフォルトの Kubernetes VolumeSnapshotClass があり、これによって EBS Volume にステートフル ストレージのスナップショットが作成されます。

クラスタ ストレージの構成

デフォルト以外の StorageClass を使用してストレージ Volume をプロビジョニングする場合は、異なるパラメータまたは別のストレージ ドライバを使用するクラスタ内にカスタムの StorageClass を作成できます。その後、デフォルトの StorageClass を設定できます。または StorageClass を使用するようにワークロードを構成できます。たとえば、StatefulSet で StorageClass を参照するを使用して、特定の StorageClass 名を設定できます。

Volume スナップショットの使用

VolumeSnapshot リソースを使用して、ストレージ Volume のスナップショットを作成できます。その後、作成したスナップショットから新しい永続 Volume をプロビジョニングできます。詳細については、PersistentVolume のスナップショットを作成するをご覧ください。

Elastic Block Storage(EBS)

GKE on AWS は、aws-ebs-csi-driver を使用して AWS EBS Volume を管理します。

EBS CSI ドライバのバージョンは、GKE on AWS Kubernetes バージョンに関連付けられています。クラスタ バージョンをアップグレードすると、新しいドライバ バージョンが自動的に適用されます。ドライバは通常、GKE on AWS がリリースされた時点で入手可能な最新バージョンになります。

GKE on AWS にプリインストールされているドライバによって、デフォルトで次の StorageClass が提供されます。

  • standard-rwo(デフォルト): EBS gp2 Volume のプロビジョニングに使用されます。
  • premium-rwo: EBS io1 Volume のプロビジョニングに使用されます。

EBS Volume は、Kubernetes ReadWriteOnce アクセスモードをサポートしています。

既存の EBS Volume

GKE on AWS ワークロードに既存の EBS Volume をプロビジョニングできます。GKE on AWS で EBS Volume を使用する方法については、既存の EBS Volume のインポートをご覧ください。

Elastic File System(EFS)

GKE on AWS は、既存の EFS ファイル システムとアクセス ポイントのマウントをサポートしています。詳細については、EFS ファイル システムを使用するをご覧ください。

追加のストレージ オプション

GKE on AWS では、サードパーティの Container Storage Interface(CSI)ドライバ(推奨)または Kubernetes in-tree Volume プラグインを介して、他のサードパーティ ストレージ システムを使用できます。

CSI ドライバ

Container Storage Interface(CSI)は、Kubernetes がコンテナ化されたワークロードに任意のストレージ システムを接続できるようにするオープン標準 API です。一部の CSI ドライバのリストについては、Kubernetes CSI デベロッパー向けドキュメントをご覧ください。GKE on AWS は CSI v1.x をサポートしています。

クラスタで CSI ドライバを使用するには、ストレージ ベンダーが提供する CSI ドライバをインストールする必要があります。その後、ドライバの StorageClass を使用するようにワークロードを構成するか、デフォルトの StorageClass を設定することができます。

特定のストレージ ドライバ

GKE on AWS では、次の Volume ドライバを使用できます。

FSx for Lustre(FSX)

GKE on AWS は、FSx Volume を直接管理しません。aws-fsx-csi-driver は手動でインストールできますが、Google ではサポートを行っていません。

Kubernetes in-tree Volume プラグイン

Kubernetes には in-tree(組み込み)Volume プラグインが付属しています。サポートされている in-tree ドライバには次のものがあります。

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • Secret

次のステップ