ストレージ

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

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

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

StorageClass

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

VolumeSnapshotClass

ユーザー クラスタにはデフォルトの Kubernetes VolumeSnapshotClass があり、これにより、AWS Elastic Block Storage(EBS)ボリュームにステートフル ストレージのスナップショットが作成されます。

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

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

ボリューム スナップショットの使用

Kubernetes バージョン 1.17 以降では、VolumeSnapshot リソースを使用してストレージ ボリュームのスナップショットを作成できます。その後、作成したスナップショットから新しい永続ボリュームをプロビジョニングできます。

Elastic Block Storage(EBS)

Anthos clusters on AWS は、AWS EBS ボリュームを aws-ebs-csi-driver で管理します。

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

Anthos clusters on AWS でプリインストールされたドライバは、デフォルトで次の StorageClass を提供します。

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

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

既存の EBS ボリューム

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

Elastic File System(EFS)

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

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

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

CSI ドライバ

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

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

AWS 固有のストレージ ドライバ

Anthos clusters on AWS では、次のボリューム ドライバを使用できます。

FSx for Lustre(FSX)

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

Kubernetes in-tree Volume プラグイン

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

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • secrets

次のステップ