本页面介绍如何设置可用于 Cloud Run 服务的实例数上限。通过在 Cloud Run 中指定实例数量上限,您可以限制服务响应传入请求的扩缩范围。不过,由于流量高峰等原因,实例数量可能会在短时间内超过此上限设置。使用此设置可以控制您的费用或限制与备份服务(如数据库)的连接数。
如需了解可能适用于您的服务的实例数上限,请参阅实例数上限。
如需详细了解 Cloud Run 自动扩缩容器实例的方式,请参阅实例自动扩缩。
设置和更新实例数量上限
任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。
默认情况下,Cloud Run 服务配置为最多扩容到 100 个实例。
您可以在创建新服务或部署新修订版本时使用 Google Cloud 控制台、gcloud 命令行或 YAML 文件来更改实例数上限设置。
控制台
在 Google Cloud 控制台中,前往 Cloud Run:
如果您是要配置一个新服务来作为部署目标,请点击创建服务。如果您要配置现有服务,请点击该服务,然后点击修改和部署新的修订版本。
如果您要配置新服务,请根据需要填写初始服务设置页面,然后点击容器、网络、安全性以展开服务配置页面。
点击容器标签页。
- 在“实例数上限”字段中,使用从
1
到最大限制的任意整数值指定所需的实例数量上限
- 在“实例数上限”字段中,使用从
点击创建或部署。
命令行
您可以使用以下命令更新给定服务的实例数量上限:
gcloud run services update SERVICE --max-instances MAX-VALUE
替换
- 将 SERVICE 替换为您的服务名称。
- 将 MAX-VALUE 替换为所需的容器实例数上限(使用
1
到上限的任意整数值)。指定default
可清除任何实例数上限设置,并恢复默认的 100 个实例。
您还可以使用以下命令设置部署期间的实例数量上限:
gcloud run deploy --image IMAGE_URL --max-instances MAX-VALUE
替换
- 将 IMAGE_URL 替换为对容器映像的引用,例如
us-docker.pkg.dev/cloudrun/container/hello:latest
。 如果您使用 Artifact Registry,则必须已经创建制品库 REPO_NAME。网址格式为LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
。 - 将 MAX-VALUE 替换为所需的容器实例数上限。
YAML
您可以使用 gcloud run services describe --format export
命令下载并查看现有服务配置,该命令会生成清理后的 YAML 格式的结果。然后按照后续说明修改字段,最后使用 gcloud run services replace
命令上传修改后的 YAML。请务必严格按照说明修改字段。
要查看和下载配置,请运行以下命令:
gcloud run services describe SERVICE --format export > service.yaml
更新
autoscaling.knative.dev/maxScale:
特性:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX-INSTANCE' name: REVISION
替换
- 将 SERVICE 替换为您的 Cloud Run 服务的名称
- 将 MAX-INSTANCE 替换为所需的数量上限。
- 将 REVISION 替换为新的修订版本名称或者将其删除(如果存在)。如果您提供新的修订版本名称,则该名称必须满足以下条件:
- 开头为
SERVICE-
- 仅包含小写字母、数字和
-
- 不以
-
结尾 - 不超过 63 个字符
- 开头为
使用以下命令将服务替换为其新配置:
gcloud run services replace service.yaml
Terraform
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。
以下 google_cloud_run_v2_service
资源在 template.scaling
下指定了 10
的实例数上限。将 10
替换为所需的实例数上限。
实例数上限
默认情况下,Cloud Run 服务最多可以配置给 100 个实例
最大限制取决于 Cloud Run 服务的区域及其 CPU 和内存配置。
配额页面显示每个区域的基准配额。
实例数上限取决于以下数量的最小值:
- 区域配额基准/请求的 1 个 CPU 的倍数
- 区域配额基准/请求的 2GB 内存的倍数
例如,如果基准配额为 1000 个实例,内存为 4GB 或 CPU 有 2 个,则有效上限为 500 个。
如果您要指定的实例数上限大于 Cloud Run 服务区域所允许的上限,则必须申请增加配额。
查看实例数上限设置
如需查看 Cloud Run 服务的当前实例数上限设置,请按照以下所述操作:
控制台
在 Google Cloud 控制台中,前往 Cloud Run:
点击您感兴趣的服务以打开“服务详细信息”页面。
点击修订版本标签页。
在右侧的详细信息面板中,“容器”标签页下列出了实例数上限设置。
命令行
使用以下命令:
gcloud run services describe SERVICE
在返回的配置中找到实例数上限设置。