本页面介绍了如何手动扩缩工作器池。
概览
手动扩缩可让您设置特定实例数量,而无需重新部署。这使您可以选择使用外部系统编写自己的扩缩逻辑。如需查看相关示例,请参阅 Kafka 自动扩缩器。
使用手动扩缩时的结算注意事项
如果您使用手动扩缩,那么即使您请求的所有实例恰好处于空闲状态,系统也会将这些实例作为活跃实例来进行结算。如需了解完整的结算详细信息,请参阅价格页面。
所需的角色
如需获得部署 Cloud Run 工作器池所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
Cloud Run 服务的 Cloud Run Developer (
roles/run.developer
) 角色 -
服务身份的 Service Account User (
roles/iam.serviceAccountUser
) 角色 -
已部署容器映像的 Artifact Registry 仓库的 Artifact Registry Reader (
roles/artifactregistry.reader
) 角色(如果适用)
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色和 Cloud Run IAM 权限。如果您的 Cloud Run 工作器池与Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限和管理访问权限。
配置扩缩
您可以在创建新的工作器池或部署新修订版本时使用 Google Cloud CLI 配置扩缩模式:
gcloud
如需为新的工作器池指定扩缩,请使用 deploy 命令:
gcloud beta run worker-pools deploy WORKER_POOL \ --scaling=INSTANCE_COUNT \ --image IMAGE_URL
您需要进行如下替换:
- 将 WORKER_POOL 替换为工作器池的名称。
- 将 INSTANCE_COUNT 替换为工作器池的实例数。这会将工作器池设置为手动扩缩。指定值
0
可停用工作器池。 - 将 IMAGE_URL 替换为对包含工作器池的容器映像的引用,例如
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
。
使用以下 update 命令为现有工作器池指定扩缩:
gcloud beta run worker-pools update WORKER_POOL \ --scaling=INSTANCE_COUNT
查看工作器池的扩缩配置
在 Google Cloud 控制台中,前往 Cloud Run:
点击工作器池以显示已部署的工作器池列表。
点击要检查的工作器池,以显示其详细信息窗格。
当前扩缩设置会显示在工作器池修订版本列表上方:扩缩:手动(实例数:)。
停用工作器池
如需停用工作器池,请使用以下命令将扩缩设置为零:
gcloud beta run worker-pools update WORKER_POOL --scaling=0
将 WORKER_POOL 替换为工作器池的名称。