为实例配置标签

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.labelsspec.template.metadata.labels 属性。

所需的角色

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

如需查看与 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

  1. 如果您要创建新实例,请跳过此步骤。 如果您要更新现有实例,请下载其 YAML 配置

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. 以下示例包含 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 实例的名称。
    • KEYVALUE:标签的键值对。

    metadata.labels 用于对实例对象设置标签,而 spec.template.metadata.labels 用于对创建的修订版本设置标签。 Cloud Run 仅将对修订版本设置的标签传播到 Cloud Billing 和 Cloud Logging。

  3. 使用以下命令创建或更新实例:

    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:标签的名称。