El Volume Populator de GKE aprovecha el concepto principal de Volume Populator de Kubernetes. En lugar de aprovisionar un volumen vacío, el propagador de volúmenes de GKE permite que un PVC haga referencia a un recurso personalizado GCPDataSource. Este recurso personalizado especifica el bucket de Cloud Storage de origen y las credenciales necesarias.
Cuando creas un PVC con un dataSourceRef que apunta a un recurso GCPDataSource, el propagador de volúmenes de GKE inicia la transferencia de datos. Copia los datos del URI del bucket de Cloud Storage especificado en el volumen de almacenamiento persistente subyacente antes de que el volumen esté disponible para tus Pods.
Este proceso reduce la necesidad de usar secuencias de comandos de transferencia de datos manuales o comandos de la CLI, y automatiza la transferencia de grandes conjuntos de datos a volúmenes persistentes. GKE Volume Populator admite transferencias de datos entre los siguientes tipos de origen y destino:
GKE Volume Populator es un componente administrado de GKE que está habilitado de forma predeterminada en los clústeres de Autopilot y Standard. Principalmente, interactúas con GKE Volume Populator a través de la CLI de gcloud y la CLI de kubectl.
Arquitectura
En el siguiente diagrama, se muestra cómo fluyen los datos del almacenamiento de origen al almacenamiento de destino y cómo se crea el PersistentVolume para el almacenamiento de destino con el propagador de volúmenes de GKE.
Creas un PVC que hace referencia a un recurso personalizado GCPDataSource.
El GKE Volume Populator detecta el PVC y, luego, inicia un trabajo de transferencia de datos.
El trabajo de transferencia se ejecuta en un grupo de nodos existente o se crea uno nuevo si el aprovisionamiento automático de nodos está habilitado.
El trabajo de transferencia copia los datos del bucket de Cloud Storage especificado en el recurso GCPDataSource al volumen de almacenamiento de destino.
Una vez que se completa la transferencia, el PVC se vincula al volumen de almacenamiento de destino, lo que hace que los datos estén disponibles para el Pod de la carga de trabajo.
Ventajas clave
El propagador de volúmenes de GKE ofrece varios beneficios:
Propagación de datos automatizada: Propaga automáticamente los volúmenes con datos de Cloud Storage durante el aprovisionamiento, lo que ayuda a reducir la sobrecarga operativa.
Portabilidad de datos sin problemas: Mueve datos desde el almacenamiento de objetos a sistemas de almacenamiento de archivos de alto rendimiento (Parallelstore) o de bloques (Hyperdisk) para optimizar el precio o el rendimiento según las necesidades de tu carga de trabajo.
Flujos de trabajo simplificados: Reducen la necesidad de trabajos de carga de datos independientes o de intervención manual para preparar volúmenes persistentes.
Cargas de trabajo de IA/AA aceleradas: precarga rápidamente grandes conjuntos de datos, modelos y pesos directamente en el almacenamiento de alto rendimiento para ayudar a acelerar las tareas de entrenamiento y de inferencia.
Casos de uso de GKE Volume Populator
Puedes usar GKE Volume Populator para cargar grandes conjuntos de datos de entrenamiento para la IA/AA. Imagina que tienes un conjunto de datos de varios terabytes para entrenar un modelo de lenguaje grande (LLM) almacenado en un bucket de Cloud Storage. Tu trabajo de entrenamiento se ejecuta en GKE y requiere un alto rendimiento de E/S. En lugar de copiar los datos de forma manual, puedes usar el propagador de volúmenes de GKE para aprovisionar automáticamente un volumen de Parallelstore o Hyperdisk ML y propagarlo con el conjunto de datos de Cloud Storage cuando se cree el PVC. Este proceso automatizado ayuda a garantizar que tus Pods de entrenamiento comiencen con acceso inmediato y de alta velocidad a los datos.
Estos son algunos ejemplos más en los que puedes usar el GKE Volume Populator:
Almacenar en caché previamente los pesos y los recursos de los modelos de IA/AA desde Cloud Storage en volúmenes de Hyperdisk ML para acelerar los tiempos de carga de los modelos para la entrega de inferencias
Migrar datos de Cloud Storage a volúmenes persistentes para aplicaciones con estado que requieren acceso a discos de alto rendimiento
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]