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 を使用します。

アーキテクチャ

転送元ストレージから転送先ストレージへのデータの流れと、転送先ストレージの PersistentVolume が GKE Volume Populator によってどのように作成されるかを次の図に示します。

  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 向けの大規模なトレーニング データセットを読み込むことができます。大規模言語モデル(LLM)のトレーニングに使用する数テラバイトのデータセットを Cloud Storage バケットに保存しているとします。トレーニング ジョブを GKE 上で稼働しますが、優れた I/O パフォーマンスが必要です。データを手動でコピーする代わりに、GKE Volume Populator を使用して Parallelstore ボリュームまたは Hyperdisk ML ボリュームを自動的にプロビジョニングし、PVC を作成するときに、そのボリュームへ Cloud Storage からデータセットを入力できます。この自動化プロセスにより、トレーニング Pod がデータへの高速アクセスを直ちに開始できます。

このほかにも、GKE Volume Populator を使用できる例として次が挙げられます。

  • AI/ML モデルのウェイトとアセットを、Cloud Storage から Hyperdisk ML ボリュームのキャッシュへ保存しておき、推論処理で使用するモデルの読み込み時間を短縮する。
  • パフォーマンスに優れたディスク アクセスを必要とするステートフル アプリケーション向けに、Cloud Storage から永続ボリュームへデータを移行する。

次のステップ