CPU 分配

本页面介绍如何指定 CPU 的分配:是仅在处理请求期间分配 CPU,还是始终为每个 Cloud Run 容器实例分配 CPU。设置“始终分配 CPU”有助于运行后台任务和其他异步处理任务。请注意,始终分配这一设置与使用最少实例兼容。

默认情况下,系统仅在请求处理期间分配 Cloud Run 容器实例 CPU,因此不会在容器实例启动和请求处理以外的情况下分配 CPU。您可以更改此行为,以便 CPU 始终会分配并且可用,即使没有传入请求也是如此。

价格影响

如果您选择仅在处理请求期间分配 CPU,则只在容器实例处理请求时,您才需要按请求付费。如果您选择始终分配 CPU 设置,则需要为容器实例的整个生命周期付费。如需了解详情,请参阅 Cloud Run 价格表

设置和更新 CPU 分配

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

如果您要选择“始终分配 CPU”这一选项,则必须至少指定 512MiB 的内存

默认情况下,对于每个容器实例而言,只会在处理请求期间分配 CPU。您可以在创建新服务部署新修订版本时使用 Cloud Console、gcloud 命令行或 YAML 文件更改此值:

控制台

  1. 转到 Cloud Run

  2. 如果您是要配置一个新服务来作为部署目标,请点击创建服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本

  3. 如果您要配置新服务,请根据需要填写初始服务设置页面,然后点击下一步 > 高级设置,以访问服务配置页面。

  4. 点击容器标签页。

    图片

  5. 在“CPU 分配和价格”下选择所需的 CPU 分配。针对实例选择仅在处理请求期间分配 CPU后,实例只会在收到请求时才会收到 CPU。选择始终分配 CPU 为容器实例的整个生命周期分配 CPU。

  6. 点击创建部署

命令行

您可以更新 CPU 分配。如需为给定服务设置始终分配 CPU,请运行以下命令:

gcloud beta run services update SERVICE --no-cpu-throttling 

SERVICE 替换为服务的名称。

如需设置仅在处理请求期间分配 CPU,请执行以下操作:

gcloud beta run services update SERVICE --cpu-throttling 

您还可以设置在部署期间分配 CPU。如需设置始终分配 CPU,请执行以下操作:

gcloud run deploy --image IMAGE_URL --no-cpu-throttling

如需设置仅在处理请求期间分配 CPU,请执行以下操作:

gcloud run deploy --image IMAGE_URL --cpu-throttling

IMAGE_URL 替换为对容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/hello:latest

YAML

您可以使用 gcloud run services describe --format export 命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后,您可以使用 gcloud run services replace 命令修改下述字段并上传修改后的 YAML。请务必仅修改记录的字段。

  1. 要查看和下载配置,请运行以下命令:

    gcloud run services describe SERVICE --format export > service.yaml
  2. 更新 cpu 特性:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/cpu-throttling: 'BOOLEAN`

    替换

    • SERVICE 替换为您的 Cloud Run 服务的名称
    • BOOLEAN 替换为 true(以设置仅在处理请求期间分配 CPU)或 false(以设置始终分配 CPU)。
  3. 使用以下命令将服务替换为其新配置:

    gcloud run services replace service.yaml

查看 CPU 分配设置

要查看服务的当前 CPU 分配设置,请执行以下操作:

控制台

  1. 转到 Cloud Run

  2. 点击您感兴趣的服务以打开“服务详细信息”页面。

  3. 点击修订版本标签页。

  4. 在右侧的详细信息面板中,“容器”标签页下列出了 CPU 分配设置。

命令行

  1. 使用以下命令:

    gcloud run services describe SERVICE
  2. 在返回的配置中找到 CPU 分配设置。