为作业配置标签

Cloud Run 标签是应用于 Cloud Run 作业的键值对。本页介绍如何在 Cloud Run 作业上设置、修改和删除标签。

可能的用途包括:

  • 用于费用分配和账单明细。
  • 确定各个团队或费用中心使用的资源。
  • 区分部署环境(生产、预演、质量检查或测试)。
  • 识别所有者、状态标签。
  • 在 Logging 中过滤日志。

标签使用规则

以下规则适用于使用在 Cloud Run 作业上设置的标签:

只允许在 Cloud Run 上使用有效的 Google Cloud 标签

所需的角色

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

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

设置或修改标签

您可以使用 Google Cloud CLI、YAML 或 Terraform 在 Cloud Run 作业上设置标签。

gcloud

  1. 如需在新作业上设置标签,请运行以下命令:

    gcloud run jobs create JOB_NAME --image IMAGE_URL --labels KEY=VALUE

    您需要进行如下替换

    • JOB_NAME 替换为作业的名称。
    • KEY 替换为您的标签键的名称
    • VALUE 替换为键的值
    • IMAGE_URL 替换为对容器映像的引用,例如 us-docker.pkg.dev/cloudrun/container/job:latest
  2. 如需在现有作业上设置标签,请运行以下命令:

    gcloud run jobs update JOB_NAME --labels KEY=VALUE
  3. 如需创建多个标签,请提供以英文逗号分隔的键值对列表。

    gcloud run jobs update JOB_NAME --labels KEY1=VALUE1,KEY2=VALUE2 

YAML

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. 在两个位置更新 labels 特性:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE

    您需要进行如下替换

    • LABEL 替换为标签的名称。
    • VALUE 替换为所选值。

    您还可以指定更多配置,例如环境变量或内存限制。

  3. 更新现有作业配置:

    gcloud run jobs replace job.yaml

Terraform

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

将以下内容添加到 Terraform 配置中的 google_cloud_run_v2_job 资源。

resource "google_cloud_run_v2_job" "default" {
  name     = "JOB_NAME"
  location = "us-central1"

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
      }
    }
    labels = {
    "LABEL":"VALUE"
    }
  }
  labels = {
    "LABEL":"VALUE"
  }
}

您需要进行如下替换:

  • JOB_NAME 替换为 Cloud Run 作业的名称。
  • LABEL 替换为标签的名称。
  • VALUE 替换为所选值。

按标签列出作业

您可以使用 Google Cloud CLI 过滤条件按标签列出作业:

  gcloud run jobs list --filter metadata.labels.LABEL=VALUE
  

您需要进行如下替换:

  • LABEL 替换为标签的名称
  • VALUE 替换为要包含在过滤列表中的值

删除作业上的标签

如需清除服务的所有标签,请使用以下命令:

gcloud run jobs update JOB --clear-labels

如需删除服务的特定标签,请提供以英文逗号分隔的键列表:

gcloud run jobs update JOB --remove-labels LABEL

您需要进行如下替换

  • JOB 替换为 Cloud Run 作业的名称
  • LABEL 替换为您的标签名称