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 是 GKE 管理的组件,在 Autopilot 集群和 Standard 集群中默认处于启用状态。您主要通过 gcloud CLIkubectl CLI 与 GKE Volume Populator 进行交互。

架构

下图显示了数据如何从来源存储流向目标存储,以及如何使用 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),以便根据工作负载需求优化价格或性能。
  • 简化工作流程:减少了对单独的数据加载作业或人工干预来准备持久卷的需求。
  • 身份和访问权限管理 (IAM) 集成:通过 Workload Identity Federation for GKE 使用基于 IAM 的身份验证,有助于确保数据传输安全,并实现精细的访问权限控制。
  • 加速 AI/机器学习工作负载:将大型数据集、模型和权重直接预加载到高性能存储中,以帮助加快训练和推理任务的速度。

GKE Volume Populator 的使用场景

您可以使用 GKE Volume Populator 加载用于 AI/机器学习的大型训练数据集。假设您有一个多 TB 的数据集,用于训练存储在 Cloud Storage 存储桶中的大型语言模型 (LLM)。您的训练作业在 GKE 上运行,需要高 I/O 性能。您可以使用 GKE Volume Populator 自动预配 ParallelstoreHyperdisk ML 卷,并在创建 PVC 时使用 Cloud Storage 中的数据集填充该卷,而无需手动复制数据。此自动化流程有助于确保训练 Pod 能够立即高速访问数据。

以下是一些您可以使用 GKE Volume Populator 的更多示例:

  • 将 Cloud Storage 中的 AI/机器学习模型权重和资源预缓存到 Hyperdisk ML 卷中,以缩短推理服务中的模型加载时间。
  • 将数据从 Cloud Storage 迁移到需要高性能磁盘访问的有状态应用的持久卷。

后续步骤