为工作器池配置环境变量

本页面介绍了如何为 Cloud Run 工作器池配置环境变量。

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

所需的角色

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

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

设置环境变量

您可以使用Google Cloud 控制台、Google Cloud CLI 或 Terraform 为 Cloud Run 工作器池设置环境变量:

控制台

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

    转到 Cloud Run

  2. 从菜单中选择工作器池,然后点击部署容器以配置新的工作器池。如果您要配置现有工作器池,请点击该工作器池,然后点击修改和部署新的修订版本

  3. 如果您要配置新的工作器池,请填写初始工作器池页面,然后点击容器、卷、网络、安全性以展开工作器池配置页面。

  4. 点击容器标签页。

    图片

    • 在“变量和 Secret”标签页中,点击添加变量以添加新的环境变量,然后在名称字段中指定要对变量使用的名称。如需详细了解如何设置多个环境变量或转义特殊字符,请参阅设置多个环境变量
  5. 点击创建部署

gcloud

如需在部署工作器池时指定环境变量,请使用 --set-env-vars 标志:

gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

替换以下内容:

  • WORKER_POOL:工作器池的名称
  • KEY1=VALUE1,KEY2=VALUE2:以英文逗号分隔的变量名称和值列表
  • IMAGE_URL:对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest

如需详细了解如何设置多个环境变量或转义特殊字符,请参阅设置多个环境变量

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      env {
        name  = "KEY1"
        value = "VALUE1"
      }
      env {
        name  = "KEY2"
        value = "VALUE2"
      }
    }
  }
}

替换以下内容:

  • WORKER_POOL:工作器池的名称。
  • REGION: Google Cloud 区域,例如 europe-west1
  • IMAGE_URL:对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • KEY1VALUE1:环境变量和值。(可选)根据需要添加更多的变量和值。

在容器中设置默认环境变量

您可以使用 Dockerfile 中的 ENV 语句设置环境变量的默认值:

ENV KEY1=VALUE1,KEY2=VALUE2

优先顺序:容器变量与工作器池变量

如果您在容器中设置默认环境变量,并在 Cloud Run 工作器池上设置具有相同名称的环境变量,则该工作器池上设置的值优先。

设置多个环境变量

您可以使用 .env 文件或 --set-env-vars 标志设置多个环境变量。

使用 .env 文件设置多个环境变量

控制台

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

    转到 Cloud Run

  2. 从菜单中选择工作器池,然后点击部署容器以配置新的工作器池。如果您要配置现有工作器池,请点击该工作器池,然后点击修改和部署新的修订版本

  3. 如果您要配置新的工作器池,请填写初始工作器池页面,然后点击容器、卷、网络、安全性以展开工作器池配置页面。

  4. 点击容器标签页。

    图片

    • 在“变量和 Secret”标签页中,点击添加变量,然后将 .env 文件的内容粘贴到名称字段中。Cloud Run 会自动填充字段,并为 .env 文件中定义的每个键值对创建新变量。
  5. 点击创建部署

gcloud

如需从 .env 文件中指定多个环境变量,请运行以下命令:

gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

替换以下内容:

  • WORKER_POOL:工作器池的名称。
  • IMAGE_URL:对包含工作器池的容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • ENV_FILE_PATH.env 文件的路径。

使用 --set-env-vars 标志设置多个环境变量

如果您有多个无法以 KEY1=VALUE1,KEY2=VALUE2 格式列出的环境变量,则可以多次重复使用 --set-env-vars 标志:
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

转义英文逗号字符

由于英文逗号字符 , 用于分隔环境变量,因此,如果您的环境变量包含英文逗号字符作为值,则您需要将这些分隔符进行转义,方法是指定其他分隔符(例如 @):
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

更新环境变量

您可以更新现有工作器池的运行时环境变量。这种方法没有破坏性,也就是说,它只会更改或添加运行时环境变量,但不会删除这些变量。

您可以在 Google Cloud 控制台、Google Cloud CLI 或 Terraform 中更新环境变量:

控制台

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

    转到 Cloud Run

  2. 从菜单中选择工作器池,然后点击要更新的工作器池,再点击修改和部署新的修订版本

  3. 点击容器、卷、网络、安全性以展开工作器池配置页面。

  4. 点击变量和 Secret 标签页。

    图片

  5. 找到要更新的环境变量,然后在名称字段中指定不同的变量名称或不同值。

  6. 点击部署

gcloud

如需更新现有工作器池的环境变量,请使用 --update-env-vars 标志:

gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

替换以下内容:

  • WORKER_POOL:工作器池的名称
  • KEY1=VALUE1,KEY2=VALUE2:以英文逗号分隔的变量名称和值列表

Terraform

如需更新现有工作器池的环境变量,请打开与工作器池对应的 main.tf 文件,并修改名称和值变量。然后,运行相应命令以应用 Terraform 配置。

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令

删除环境变量

控制台

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

    转到 Cloud Run

  2. 从菜单中选择工作器池,然后点击要更新的工作器池,再点击修改和部署新的修订版本

  3. 点击容器、卷、网络、安全性以展开工作器池配置页面。

  4. 点击变量和 Secret 标签页。

    图片

  5. 找到要删除的环境变量,然后点击字段右侧的回收站图标以删除该环境变量。

  6. 点击部署

gcloud

如需从现有工作器池中有选择地移除环境变量,请使用 --remove-env-vars 标志:

gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2

替换以下内容:

  • WORKER_POOL:工作器池的名称
  • KEY1,KEY2:以英文逗号分隔的变量名称列表

或者,您也可以使用 --clear-env-vars 标志清除所有先前设置的环境变量:

gcloud beta run worker-pools update WORKER_POOL --clear-env-vars

WORKER_POOL 替换为工作器池的名称。

查看工作器池的环境变量配置

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

    转到 Cloud Run

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

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

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

示例代码

如需查看展示如何访问代码中的环境变量的代码示例,请参阅最终用户身份验证教程中的使用 Secret Manager 处理敏感配置

后续步骤

您可以使用环境变量来设置 buildpack 配置。如需了解特定语言的详细信息,请参阅适用于以下语言的 Buildpack 文档: