Google Cloud Run 卷挂载功能预览:容器内文件访问更便捷

Google 推出 Cloud Run 卷挂载功能

Google 最近宣布了一项名为 卷挂载(Volume Mounts) 的新功能,该功能目前处于预览阶段。它旨在简化云原生应用与共享数据存储解决方案(如 Cloud Storage 存储桶和 NFS 共享)的集成,直接应用于 Cloud Run 实例中。

功能背景

卷挂载功能集成于 Cloud Run,这是一个基于 Google 可扩展基础设施构建的完全托管的容器平台。通过使容器能够像访问本地文件一样访问存储桶或文件服务器的内容,Google 增强了文件系统语义,为开发者提供了更熟悉的体验。这消除了之前访问共享数据所需的复杂解决方案或替代服务。

使用场景

卷挂载的典型应用场景包括:

  • 存储应用配置文件:开发者可以将 Cloud Storage 存储桶挂载以提供服务配置。
  • 处理事件驱动的 Cloud Storage 操作:通过挂载相关存储桶,文件可以直接通过文件系统访问,简化了流程。
  • 加载向量数据库文件:例如为 Langchain 等应用加载数据。
  • 高效提供静态网站内容:开发者可以直接挂载 Cloud Storage 存储桶以提供静态内容,无需在每次更新后重新构建和部署容器镜像。

技术细节

卷挂载支持两种主要存储类型:

  • Cloud Storage 存储桶:适用于存储静态内容或配置文件。
  • NFS 存储:例如 Cloud Filestore 实例,适用于依赖外部数据库的无状态服务(如 ChromaDB),确保对动态变化数据的一致访问。

部署方式

开发者可以通过以下方式使用卷挂载:

  1. gcloud 命令行工具:例如,通过以下命令挂载 Cloud Storage 存储桶:

    gcloud beta run services update SERVICE \
    --execution-environment gen2 \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH
  2. 更新 Cloud Run YAML 资源定义
  3. 通过 Terraform 部署

行业竞争

卷挂载功能的推出使 Google Cloud Run 与 AWS 和 Azure 的类似产品形成竞争。例如,AWS Fargate 支持与持久存储卷的集成,而 Azure Container Instances(ACI)支持挂载 Azure Files。这反映了行业向更灵活、可扩展的云服务发展的趋势。

专家观点

BlaBlaCar 的站点可靠性工程师 Etienne Fontaine 提到,Google Cloud Run 的这一功能相比 AWS Fargate 和 EFS 具有竞争优势。

总结

Google Cloud Run 的卷挂载功能通过简化云原生应用与共享存储的集成,为开发者提供了更高的灵活性和效率。它支持 Cloud Storage 存储桶和 NFS 存储,适用于多种场景,如配置文件管理、事件驱动操作和静态内容服务。这一功能的推出进一步增强了 Google 在云服务领域的竞争力。

阅读 43
0 条评论