使用标签

了解如何在 Knative serving 服务和修订版本中创建和使用标签。

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

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

标签使用规则

只允许在 Knative serving 上使用有效的 Kubernetes 标签

设置或修改标签

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

在部署新服务或更新现有服务和部署修订版本时,您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 文件设置或修改标签:

控制台

  1. 在 Google Cloud 控制台中前往 Knative serving:

前往 Knative serving

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

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

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

    设置标签

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

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

  6. 点击保存

命令行

您可以使用 Google Cloud CLI 为新服务设置标签或更新现有服务:

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

    示例:

    gcloud run 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 run deploy 命令来设置标签:

    gcloud run deploy SERVICE --image=IMAGE_URL --set-labels KEY1=VALUE1,KEY2=VALUE2
    

    替换:

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

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

YAML

您可以使用 gcloud run services describe 命令和 --format=export 标志将现有服务的配置下载到的 YAML 文件中。然后,您可以使用 gcloud run services replace 命令修改该 YAML 文件并部署这些更改。您必须确保仅修改指定的属性。

  1. 将服务配置下载到本地工作区上名为 service.yaml 的文件中:

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE 替换为您的 Knative serving 服务的名称。

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

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

    替换

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

    gcloud run services replace service.yaml

按标签列出服务

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

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

替换:

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

删除标签

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

控制台

  1. 在 Google Cloud 控制台中前往 Knative serving:

前往 Knative serving

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

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

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

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

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

  6. 点击保存

命令行

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

gcloud run services update SERVICE --clear-labels

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

gcloud run services update SERVICE --remove-labels LABEL

替换

  • SERVICE 替换为您的 Knative serving 服务的名称
  • LABEL 替换为您的标签名称