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 は、次のソースと宛先のタイプ間のデータ転送をサポートしています。
- Cloud Storage から Parallelstore
- Cloud Storage から Hyperdisk ML
GKE Volume Populator は、Autopilot クラスタと Standard クラスタの両方でデフォルトで有効になっている GKE マネージド コンポーネントです。GKE Volume Populator は、主に gcloud CLI と kubectl CLI を使って操作します。
アーキテクチャ
次の図は、ソース ストレージから宛先ストレージへのデータの流れと、GKE Volume Populator を使用して宛先ストレージの PersistentVolume が作成される様子を示しています。
GCPDataSource
カスタム リソースを参照する PVC を作成します。- GKE Volume Populator は PVC を検出し、データ転送ジョブを開始します。
- 転送ジョブは既存のノードプールで実行されます。ノードの自動プロビジョニングが有効になっている場合は、新しいノードプールが作成されます。
- 転送ジョブは、
GCPDataSource
リソースで指定された Cloud Storage バケットから転送先ストレージ ボリュームにデータをコピーします。 - 転送が完了すると、PVC は移行先のストレージ ボリュームにバインドされ、ワークロード Pod でデータを使用できるようになります。
主なメリット
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 から永続ボリュームにデータを移行する。
次のステップ
- GKE Volume Populator を使用して Parallelstore へのデータ転送を自動化する。
- GKE Volume Populator を使用して Hyperdisk ML へのデータ転送を自動化する。
- GKE Volume Populator のデータ転送に関する問題のトラブルシューティング。