使用标签

了解如何在 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 替换为您的标签名称