为实例配置标签

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 关联的 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 实例的名称。
    • KEY 和 VALUE:标签的键值对。

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