使用标签

了解如何在 Cloud Run for Anthos on Google Cloud 服务和修订版本中创建和使用标签。

标签是应用于服务和修订版本的键值对。在 Cloud Run for Anthos 服务上设置标签时,系统会为此服务创建带有该标签的新修订版本;该标签不会应用于较早的修订版本。

用于 Cloud Run for Anthos 的标签为 Kubernetes 资源标签,不会传播到 Google Cloud。如需详细了解如何使用标签来分析集群资源使用情况,请参阅了解集群资源使用情况

标签使用规则

只允许在 Cloud Run for Anthos 上使用有效的 Kubernetes 标签

设置或修改标签

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

在部署新服务或更新现有服务和部署修订版本时,您可以使用 Cloud Console、gcloud 命令行工具或 YAML 文件设置或修改标签:

控制台

  1. 转到 Cloud Run for Anthos on Google Cloud

  2. 选中要为其设置标签的服务左侧的复选框。

  3. 确保最右侧的“信息面板”已开启(显示信息面板)。

  4. 点击标签以显示标签窗格。

    设置标签

  5. 要修改现有标签键值对,请找到相应标签,然后根据需要更改值。

  6. 要为该服务设置新标签,请点击添加标签并提供键和值。

  7. 点击保存

命令行

您可以使用以下 gcloud kuberun 命令之一来设置新服务的 ConfigMap 或更新现有服务:

  • 对于现有服务,请运行带有以下参数的 gcloud kuberun core services update 命令来更新标签:

    例如:

    gcloud kuberun core services update SERVICE --update-labels KEY1=VALUE1,KEY2=VALUE2
    

    您需要将其中的:

    • SERVICE 替换为您的服务名称。
    • KEY1=VALUE1,KEY2=VALUE2 替换为每个标签的名称和值对的英文逗号分隔列表。为每个 KEY 指定标签名称,并为 VALUE 指定值。如何指定多个参数
    • 命令参数选项

      如需指定多组键值对,您可以指定多个参数以确保可读性。示例:
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      
  • 对于新服务,可运行带有 --set-labels 参数的 gcloud kuberun core services create 命令来设置标签:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --set-labels KEY1=VALUE1,KEY2=VALUE2
    

    您需要将其中的:

    • IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest
    • SERVICE 替换为您的服务名称。
    • KEY1=VALUE1,KEY2=VALUE2 替换为每个标签的名称和值对的英文逗号分隔列表。为每个 KEY 指定标签名称,并为 VALUE 指定值。如何指定多个参数
    • 命令参数选项

      如需指定多组键值对,您可以指定多个参数以确保可读性。示例:
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      

YAML

如需使用 YAML 文件修改现有服务的配置,请获取当前配置的副本,修改相应配置并将更改保存到本地文件内,然后再将这些更改部署到服务中。

  1. 显示为 YAML,然后将服务的配置复制到本地文件(例如 service.yaml)中:

    gcloud kuberun core services describe SERVICE --format yaml

    SERVICE 替换为您的 Cloud Run for Anthos 服务的名称。

  2. 在本地文件中,更新 labels 属性:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: 'VALUE'

    替换

    • SERVICE 替换为您的 Cloud Run for Anthos 服务的名称
    • LABEL 替换为标签的名称
    • VALUE 替换为所需的值
  3. 使用以下命令将服务替换为其新配置:

    gcloud beta run services replace service.yaml

按标签列出服务

您可以使用 Cloud SDK 过滤条件按标签列出服务:

  gcloud kuberun core services list --filter metadata.labels.LABEL=VALUE
  

替换

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

删除标签

您可以使用控制台或命令行删除标签。

控制台

  1. 转到 Cloud Run for Anthos on Google Cloud

  2. 选中要从中删除标签的服务左侧的复选框。

  3. 确保最右侧的“信息面板”已开启(显示信息面板)。

  4. 点击标签以显示标签窗格。

  5. 找到您要删除的标签。

  6. 将光标悬停在标签对应的“值”文本框的右侧,以显示垃圾箱图标,然后点击该图标。

  7. 点击保存

命令行

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

gcloud kuberun core services update SERVICE --clear-labels

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

gcloud kuberun core services update SERVICE --remove-labels LABEL

替换

  • SERVICE 替换为您的 Cloud Run for Anthos 服务的名称
  • LABEL 替换为您的标签名称