Cloud Run 标签是应用于 Cloud Run 实例的键值对。本页介绍如何在 Cloud Run 实例上设置、修改和删除标签。 请注意,当您在 Cloud Run 实例上设置标签时,系统会为此实例创建一个带有此标签的新修订版本;该标签不会应用于旧修订版本。
可能的用途包括:
- 费用分配和账单明细。
- 确定各个团队或费用中心使用的资源。
- 区分部署环境(生产、预演、质量检查或测试)。
- 识别所有者和状态标签。
- 在 Logging 中过滤日志。
标签使用规则
以下规则适用于对 Cloud Run 实例设置的标签的使用:
Cloud Run 仅支持 有效 Google Cloud 标签。
用于结算数据和日志记录的标签
Cloud Billing 和 Cloud Logging 仅接收在
YAML 中的 spec.template.metadata.labels 属性或
Terraform 中的 template 下指定的标签。如果您使用
Google Cloud CLI 配置标签,Cloud Run 会将标签添加到 metadata.labels
和 spec.template.metadata.labels 属性。
所需的角色
如需获得配置和部署 Cloud Run 实例所需的权限,请让您的管理员为您授予以下 IAM 角色:
- Cloud Run 实例的 Cloud Run Developer (
roles/run.developer) 角色 - 服务身份的 Service Account User (
roles/iam.serviceAccountUser) 角色
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色 和 Cloud Run IAM 权限。 如果您的 Cloud Run 实例与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅 服务身份配置指南。 如需详细了解如何授予角色,请参阅 部署权限 和管理访问权限。
设置或修改标签
您可以使用 Google Cloud CLI 设置或修改标签:
gcloud
您可以使用以下命令更新实例的标签:
gcloud beta run instances update INSTANCE --update-labels KEY=VALUE
如需更新多个标签,请提供以英文逗号分隔的键值对列表。请注意,如果标签已存在,update-labels 命令会为标签键设置新值,否则会创建新标签。
替换以下内容:
- INSTANCE:Cloud Run 实例的名称。
- KEY:标签键的名称。
- VALUE:键的值。
您还可以在部署期间设置标签:
gcloud beta run instances deploy INSTANCE --image IMAGE --labels KEY=VALUE
如需在部署期间创建多个标签,请提供以英文逗号分隔的键值对列表。
YAML
如果您要创建新实例,请跳过此步骤。 如果您要更新现有实例,请下载其 YAML 配置:
gcloud beta run instances describe INSTANCE --format export > instance.yaml
以下示例包含 YAML 配置:
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA labels: KEY: VALUE KEY2: VALUE2 KEY3: VALUE3
替换以下内容:
- INSTANCE:Cloud Run 实例的名称。
- KEY 和 VALUE:标签的键值对。
metadata.labels用于对实例对象设置标签,而spec.template.metadata.labels用于对创建的修订版本设置标签。 Cloud Run 仅将对修订版本设置的标签传播到 Cloud Billing 和 Cloud Logging。使用以下命令创建或更新实例:
gcloud beta run instances replace instance.yaml
按标签列出实例
您可以使用 Google Cloud CLI 过滤条件按标签列出实例:
gcloud beta run instances list --filter metadata.labels.LABEL=VALUE
替换以下内容:
- LABEL:标签的名称。
- VALUE:要包含在过滤后的列表中的值。
删除实例上的标签
您可以使用 Google Cloud CLI 删除实例上的标签。
gcloud
如需清除实例的所有标签,请使用以下命令:
gcloud beta run instances update INSTANCE --clear-labels
如需删除实例的特定标签,请提供以英文逗号分隔的键列表:
gcloud beta run instances update INSTANCE --remove-labels LABEL
替换以下内容:
- INSTANCE:Cloud Run 实例的名称。
- LABEL:标签的名称。