为工作器池配置容器

本页面介绍了如何为 Cloud Run 工作器池配置入口点命令和参数。

当 Cloud Run 启动容器时,它会运行映像的默认入口点命令和默认命令参数。如果要替换映像的默认入口点和命令参数,您可以使用容器配置中的 commandargs 字段。command 字段指定容器运行的实际命令。args 字段指定传递给该命令的参数。

请注意,每个工作器池的每个容器最多可以有 1,000 个参数。

所需的角色

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

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

配置入口点和参数

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

指定的容器命令和参数会替换默认映像 ENTRYPOINTCMD

您可以在创建新的工作器池部署新的修订版本时,使用 Google Cloud CLI 为 Cloud Run 工作器池设置入口点命令和参数:

gcloud

如需更新现有服务的启动命令和参数,请执行以下操作:

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

您需要进行如下替换:

  • WORKER_POOL 替换为工作器池的名称。
  • COMMAND 替换为启动容器的命令(如果您未使用默认命令)。
  • ARG1 替换为要发送到容器命令的参数。如有多个参数,请使用逗号分隔列表。

如需在新工作器池或现有工作器池的部署期间指定入口点和参数,请执行以下操作:

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

IMAGE_URL 替换为对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest

如果您想恢复入口点命令和参数的容器默认值,请提供空字符串,如下所示:

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

为 sidecar 部署配置容器启动顺序

如需在边车部署中指定容器启动顺序,请使用容器依赖项功能。指定任何具有依赖项的容器,并列出它们所依赖的容器,以便这些容器首先启动。没有任何依赖项的容器始终首先并发启动。

如需成功使用此功能,您必须使用启动健康检查探测。启动探测使 Cloud Run 能够检查依赖容器的健康状况,确保其在启动下一个容器之前成功通过。如果不使用健康检查,即使容器依赖的容器无法启动,它们也会按指定的顺序启动。

请注意,工作器池没有默认的启动健康检查探测。

使用 Google Cloud CLI 指定启动顺序:

gcloud

在使用 Google Cloud CLI 指定启动顺序之前,请配置启动健康检查

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 如需将多个容器部署到具有指定启动顺序的服务,请运行以下命令:

gcloud beta run worker-pools deploy WORKER_POOL \
     --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
     --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
     --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
  • WORKER_POOL 替换为要部署到的工作器池的名称。如果省略此参数,系统稍后会提示您输入工作器池名称。
  • IMAGE_URL 替换为对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIDECAR_IMAGE 替换为对边车容器映像的引用

    如果要在部署命令中配置每个容器,请在 container 参数后面提供每个容器的配置。

查看工作器池的容器配置

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

    转到 Cloud Run

  2. 点击工作器池以显示已部署的工作器池列表。

  3. 点击要检查的工作器池,以显示其详细信息窗格。

  4. 点击容器标签页以显示工作器池容器配置。