GKE Volume Populator について

Google Kubernetes Engine(GKE)Volume Populator を使用すると、動的プロビジョニング中に Cloud Storage バケットから宛先 PersistentVolumeClaim(PVC)へのデータのプリロード プロセスを自動化して効率化できます。

GKE Volume Populator の仕組み

GKE Volume Populator は、Kubernetes Volume Populator のコアコンセプトを活用しています。GKE Volume Populator を使用すると、空のボリュームをプロビジョニングする代わりに、PVC が GCPDataSource カスタム リソースを参照できます。このカスタム リソースは、ソース Cloud Storage バケットと必要な認証情報を指定します。

GCPDataSource リソースを指す dataSourceRef を使用して PVC を作成すると、GKE Volume Populator がデータ転送を開始します。指定された Cloud Storage バケット URI から基盤となる永続ストレージ ボリュームにデータをコピーしてから、Pod でボリュームを使用できるようにします。

このプロセスにより、手動のデータ転送スクリプトや CLI コマンドを使用する必要性が減り、大規模なデータセットの永続ボリュームへの転送が自動化されます。GKE Volume Populator は、次のソースと宛先のタイプ間のデータ転送をサポートしています。

GKE Volume Populator は、Autopilot クラスタと Standard クラスタの両方でデフォルトで有効になっている GKE マネージド コンポーネントです。GKE Volume Populator は、主に gcloud CLIkubectl CLI を使って操作します。

アーキテクチャ

次の図は、ソース ストレージから宛先ストレージへのデータの流れと、GKE Volume Populator を使用して宛先ストレージの PersistentVolume が作成される様子を示しています。

  1. GCPDataSource カスタム リソースを参照する PVC を作成します。
  2. GKE Volume Populator は PVC を検出し、データ転送ジョブを開始します。
  3. 転送ジョブは既存のノードプールで実行されます。ノードの自動プロビジョニングが有効になっている場合は、新しいノードプールが作成されます。
  4. 転送ジョブは、GCPDataSource リソースで指定された Cloud Storage バケットから転送先ストレージ ボリュームにデータをコピーします。
  5. 転送が完了すると、PVC は移行先のストレージ ボリュームにバインドされ、ワークロード Pod でデータを使用できるようになります。

GKE Volume Populator を使用したソース データ ストレージからのデータ転送と宛先ストレージの PV の作成

主なメリット

GKE Volume Populator には、次のようなメリットがあります。

  • データの自動入力: プロビジョニング中に Cloud Storage のデータでボリュームを自動的に入力し、運用上のオーバーヘッドを削減します。
  • シームレスなデータ移行: オブジェクト ストレージから高パフォーマンスのファイル(Parallelstore)またはブロック ストレージ(Hyperdisk)システムにデータを移動し、ワークロードのニーズに基づいて価格やパフォーマンスを最適化します。
  • ワークフローの簡素化: 永続ボリュームを準備するための個別のデータ読み込みジョブや手動介入の必要性を軽減します。
  • Identity and Access Management(IAM)との統合: Workload Identity Federation for GKE を介して IAM ベースの認証を使用し、きめ細かいアクセス制御による安全なデータ転送を確保します。
  • AI/ML ワークロードの高速化: 大規模なデータセット、モデル、重みを高性能ストレージに直接すばやくプリロードして、トレーニング タスクと推論タスクの高速化に役立ちます。

GKE Volume Populator のユースケース

GKE Volume Populator を使用すると、AI/ML 用の大規模なトレーニング データセットを読み込むことができます。Cloud Storage バケットに保存されている大規模言語モデル(LLM)のトレーニング用のマルチテラバイトのデータセットがあるとします。トレーニング ジョブが GKE で実行され、高い I/O パフォーマンスが必要である。データを手動でコピーする代わりに、GKE Volume Populator を使用して Parallelstore または Hyperdisk ML ボリュームを自動的にプロビジョニングし、PVC の作成時に Cloud Storage のデータセットを移入できます。この自動化されたプロセスにより、トレーニング Pod はデータへの高速アクセスをすぐに開始できます。

GKE Volume Populator を使用できるその他の例を次に示します。

  • Cloud Storage から Hyperdisk ML ボリュームに AI/ML モデルの重みとアセットを事前にキャッシュに保存して、推論サービングのモデルの読み込み時間を短縮します。
  • パフォーマンスの高いディスク アクセスを必要とするステートフル アプリケーションのために、Cloud Storage から永続ボリュームにデータを移行する。

次のステップ