服务的 GPU 可用区级冗余

本页介绍了如何为 Cloud Run 服务设置 GPU 的可用区冗余选项。 默认情况下,GPU 启用了可用区冗余,因此数据和流量会在一个区域内的多个可用区之间自动平衡。如果特定可用区发生故障,流量会自动路由到其他可用区。

相反,如果您想以更低的每 GPU 秒成本使用“尽力可靠”可靠性,请为 GPU 关闭区域冗余。

支持的区域

  • us-central1(爱荷华) 叶形图标 二氧化碳排放量低
  • asia-southeast1(新加坡)
  • europe-west1(比利时) 叶形图标 二氧化碳排放量低2
  • europe-west4(荷兰) 叶形图标 二氧化碳排放量低2
  • asia-south1(孟买)
    • 注意:此地区仅限受邀者使用。如果您对此地区感兴趣,请与您的 Google 客户支持团队联系

价格影响

如需了解 GPU 价格详情,请参阅 Cloud Run 价格,了解可用区冗余的费用。

请求配额

默认情况下,可用区级冗余或可用区级冗余不受配额限制。您需要申请配额。请使用以下按钮中提供的链接申请所需的配额。

需要配额 配额链接
启用可用区冗余的 GPU 申请可用区级冗余的 GPU 配额
停用可用区级冗余的 GPU 申请不支持可用区级冗余的 GPU 配额
GPU 配额页面(可用区级冗余和非可用区级冗余) 申请 GPU 配额

准备工作

以下列表介绍了在 Cloud Run 中使用 GPU 时的要求和限制:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Run API.

    Enable the API

所需的角色

如需获得配置和部署 Cloud Run 服务所需的权限,请让您的管理员为您授予以下 IAM 角色:

如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色Cloud Run IAM 权限。如果您的 Cloud Run 服务与Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限管理访问权限

为具有 GPU 的 Cloud Run 服务配置可用区冗余

任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 配置 GPU。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Run:

    转到 Cloud Run

  2. 点击部署容器,然后选择服务以配置新服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本

  3. 如果您要配置新服务,请根据需要填写初始服务设置页面,然后点击容器、网络、安全性以展开服务配置页面。

  4. 点击容器标签页。

    图片

    • 选中“GPU”复选框以显示 GPU 冗余选项。
      • 选择无可用区冗余以关闭可用区冗余
      • 选择可用区级冗余以启用可用区级冗余。
  5. 点击创建部署

gcloud

默认情况下,GPU 区域冗余功能处于开启状态。如需为服务停用 GPU 可用区冗余配置,或者如需在之前停用了可用区冗余后重新启用该配置,请使用 gcloud beta run services update 命令:

  gcloud beta run services update SERVICE \
    --image IMAGE_URL \
    --cpu CPU \
    --memory MEMORY \
    --no-cpu-throttling \
    --gpu GPU_NUMBER \
    --gpu-type GPU_TYPE \
    --max-instances MAX_INSTANCE
    --GPU_ZONAL_REDUNDANCY
    

您需要进行如下替换:

  • SERVICE 替换为您的 Cloud Run 服务的名称。
  • IMAGE_URL 替换为对容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/hello:latest。 如果您使用 Artifact Registry,则必须预先创建制品库 REPO_NAME。网址格式为 LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
  • CPU 替换为 CPU 数量。您必须至少指定 4 CPU。
  • MEMORY 替换为内存量。您必须至少指定 16Gi (16 GiB)。
  • GPU_NUMBER 替换为值 1(一个)。 如果未指定该项,但存在 GPU_TYPE,则默认值为 1
  • GPU_TYPE 替换为 GPU 类型。如果未指定该项,但存在 GPU_NUMBER,则默认值为 nvidia-l4(nvidia L4 小写 L,而不是数值 14)。
  • MAX_INSTANCE 替换为实例数上限。此数量不能超过为您的项目分配的 GPU 配额
  • GPU_ZONAL_REDUNDANCYno-gpu-zonal-redundancy 搭配使用以关闭可用区冗余,或与 gpu-zonal-redundancy 搭配使用以开启可用区冗余。

YAML

  1. 如果您要创建新的服务,请跳过此步骤。如果您要更新现有服务,请下载其 YAML 配置

    gcloud run services describe SERVICE --format export > service.yaml
  2. 更新 run.googleapis.com/gpu-zonal-redundancy-disabled 注释:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: GPU_ZONAL_REDUNDANCY
            

    您需要进行如下替换:

    • SERVICE 替换为您的 Cloud Run 服务的名称。
    • 使用 falseGPU_ZONAL_REDUNDANCY 搭配使用以启用 GPU 可用区冗余,或使用 true 将其停用。
  3. 使用以下命令创建或更新服务:

    gcloud run services replace service.yaml