GKE Volume Populator s'appuie sur le concept de base de Kubernetes Volume Populator. Au lieu de provisionner un volume vide, le GKE Volume Populator permet à un PVC de faire référence à une ressource personnalisée GCPDataSource. Cette ressource personnalisée spécifie le bucket Cloud Storage source et les identifiants nécessaires.
Lorsque vous créez un PVC avec un dataSourceRef pointant vers une ressource GCPDataSource, le GKE Volume Populator lance le transfert de données. Il copie les données de l'URI du bucket Cloud Storage spécifié dans le volume de stockage persistant sous-jacent avant de rendre le volume disponible pour vos pods.
Ce processus vous évite d'utiliser des scripts de transfert de données manuels ou des commandes CLI, et automatise le transfert de grands ensembles de données vers des volumes persistants. GKE Volume Populator est compatible avec les transferts de données entre les types de sources et de destinations suivants :
GKE Volume Populator est un composant géré par GKE qui est activé par défaut sur les clusters Autopilot et Standard. Vous interagissez principalement avec GKE Volume Populator via les CLI gcloud CLI et kubectl.
Architecture
Le schéma suivant montre comment les données circulent du stockage source au stockage de destination, et comment le PersistentVolume pour le stockage de destination est créé à l'aide de GKE Volume Populator.
Vous créez un PVC qui référence une ressource personnalisée GCPDataSource.
Le programme de remplissage de volumes GKE détecte le PVC et lance un job de transfert de données.
Le job de transfert s'exécute sur un pool de nœuds existant. Si le provisionnement automatique des nœuds est activé, un nouveau pool est créé.
La tâche de transfert copie les données du bucket Cloud Storage spécifié dans la ressource GCPDataSource vers le volume de stockage de destination.
Une fois le transfert terminé, le PVC est lié au volume de stockage de destination, ce qui rend les données disponibles pour le pod de charge de travail.
Principaux avantages
Le Volume Populator GKE offre plusieurs avantages :
Remplissage automatique des données : remplissez automatiquement les volumes avec des données provenant de Cloud Storage lors du provisionnement, ce qui permet de réduire les frais généraux opérationnels.
Portabilité des données fluide : déplacez les données du stockage d'objets vers des systèmes de stockage de fichiers (Parallelstore) ou de blocs (Hyperdisk) hautes performances pour optimiser le prix ou les performances en fonction des besoins de votre charge de travail.
Workflows simplifiés : vous n'avez plus besoin de jobs de chargement de données distincts ni d'interventions manuelles pour préparer les volumes persistants.
Charges de travail d'IA/ML accélérées : préchargez rapidement de grands ensembles de données, modèles et pondérations directement dans un stockage hautes performances pour accélérer les tâches d'entraînement et d'inférence.
Cas d'utilisation de GKE Volume Populator
Vous pouvez utiliser GKE Volume Populator pour charger de grands ensembles de données d'entraînement pour l'IA/le ML. Imaginons que vous disposiez d'un ensemble de données de plusieurs téraoctets pour entraîner un grand modèle de langage (LLM) stocké dans un bucket Cloud Storage. Votre job d'entraînement s'exécute sur GKE et nécessite des performances d'E/S élevées. Au lieu de copier manuellement les données, vous pouvez utiliser le GKE Volume Populator pour provisionner automatiquement un volume Parallelstore ou Hyperdisk ML, et le remplir avec l'ensemble de données de Cloud Storage lorsque le PVC est créé. Ce processus automatisé permet de s'assurer que vos pods d'entraînement bénéficient d'un accès immédiat et haut débit aux données.
Voici d'autres exemples d'utilisation du Volume Populator GKE :
Mise en cache préalable des pondérations et des composants de modèles d'IA/ML depuis Cloud Storage dans des volumes Hyperdisk ML pour accélérer les temps de chargement des modèles pour le service d'inférence.
Migrer des données de Cloud Storage vers des volumes persistants pour les applications avec état nécessitant un accès performant au disque.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# About GKE Volume Populator\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nThe Google Kubernetes Engine (GKE) Volume Populator can help you automate and streamline the process of preloading data from [Cloud Storage buckets](/storage/docs/buckets) to destination [PersistentVolumeClaims (PVCs)](/kubernetes-engine/docs/concepts/persistent-volumes#persistentvolumeclaims) during [dynamic provisioning](/kubernetes-engine/docs/concepts/persistent-volumes#dynamic_provisioning).\n\n\u003cbr /\u003e\n\nHow GKE Volume Populator works\n------------------------------\n\nGKE Volume Populator leverages the core [Kubernetes Volume Populator](https://kubernetes.io/blog/2022/05/16/volume-populators-beta/) concept. Instead of provisioning an empty volume, the GKE Volume Populator allows a PVC to reference a [`GCPDataSource`](/kubernetes-engine/docs/reference/crds/gcpdatasource) custom resource. This custom resource specifies the source Cloud Storage bucket and the necessary credentials.\n\nWhen you create a PVC with a `dataSourceRef` pointing to a `GCPDataSource` resource, the GKE Volume Populator initiates the data transfer. It copies data from the specified Cloud Storage bucket URI into the underlying persistent storage volume before making the volume available to your Pods.\n\nThis process reduces your need to use manual data transfer scripts or CLI commands, and automates the transfer of large datasets to persistent volumes. GKE Volume Populator supports data transfers between the following source and destination types:\n\n- Cloud Storage to [Parallelstore](/kubernetes-engine/docs/concepts/parallelstore-for-gke)\n- Cloud Storage to [Hyperdisk ML](/kubernetes-engine/docs/concepts/hyperdisk#hyperdisk-ml)\n\nGKE Volume Populator is a GKE managed component that's enabled by default on both Autopilot and Standard clusters. You primarily interact with GKE Volume Populator through the [gcloud CLI](/sdk/gcloud) and [kubectl](https://kubernetes.io/docs/reference/kubectl/) CLI.\n\n### Architecture\n\nThe following diagram shows how data flows from the source storage to the destination\nstorage, and how the [PersistentVolume](/kubernetes-engine/docs/concepts/persistent-volumes) for the destination storage is created by using GKE Volume Populator.\n\n1. You create a PVC that references a [`GCPDataSource`](/kubernetes-engine/docs/reference/crds/gcpdatasource) custom resource.\n2. The GKE Volume Populator detects the PVC and initiates a data transfer Job.\n3. The transfer Job runs on an existing node pool, or a new one is created if node auto-provisioning is enabled.\n4. The transfer Job copies data from the Cloud Storage bucket specified in the `GCPDataSource` resource to the destination storage volume.\n5. After the transfer is complete, the PVC is bound to the destination storage volume, making the data available to the workload Pod.\n\nKey benefits\n------------\n\nThe GKE Volume Populator offers several benefits:\n\n- **Automated data population**: automatically populate volumes with data from Cloud Storage during provisioning, which helps reduce operational overhead.\n- **Seamless data portability**: move data from object storage to high-performance file (Parallelstore) or block storage (Hyperdisk) systems to help optimize for price or performance based on your workload needs.\n- **Simplified workflows**: reduce the need for separate data loading Jobs, or manual intervention to prepare persistent volumes.\n- **Integration with [Identity and Access Management (IAM)](/iam/docs/overview)** : use IAM-based authentication through [Workload Identity Federation for GKE](/kubernetes-engine/docs/concepts/workload-identity) to help ensure secure data transfer with fine-grained access control.\n- **Accelerated AI/ML workloads**: quickly preload large datasets, models, and weights directly into high-performance storage to help speed up training and inference tasks.\n\nUse cases for GKE Volume Populator\n----------------------------------\n\nYou can use GKE Volume Populator to load large training datasets for AI/ML. Imagine you have a multi-terabyte dataset for training a large language model (LLM) stored in a Cloud Storage bucket. Your training Job runs on GKE and requires high I/O performance. Instead of manually copying the data, you can use the GKE Volume Populator to automatically provision a [Parallelstore](/kubernetes-engine/docs/how-to/persistent-volumes/volume-populator) or [Hyperdisk ML](/kubernetes-engine/docs/how-to/persistent-volumes/volume-populator-hdml) volume, and populate it with the dataset from Cloud Storage when the PVC is created. This automated process helps ensure that your training Pods start with immediate, high-speed access to the data.\n\nHere are some more examples where you can use the GKE Volume Populator:\n\n- Pre-caching AI/ML model weights and assets from Cloud Storage into Hyperdisk ML volumes to accelerate model loading times for inference serving.\n- Migrating data from Cloud Storage to persistent volumes for stateful applications requiring performant disk access.\n\nWhat's next\n-----------\n\n- [Automate data transfer to Parallelstore by using GKE Volume Populator](/kubernetes-engine/docs/how-to/persistent-volumes/volume-populator).\n- [Automate data transfer to Hyperdisk ML by using GKE Volume Populator](/kubernetes-engine/docs/how-to/persistent-volumes/volume-populator-hdml).\n- [Troubleshooting GKE Volume Populator data transfer issues](/kubernetes-engine/docs/troubleshooting/troubleshooting-gke-volume-populator)."]]