了解如何在 Knative serving 服务和修订版本中创建和使用标签。
标签是应用于服务和修订版本的键值对。在 Knative serving 服务上设置标签时,系统会为此服务创建带有该标签的新修订版本;该标签不会应用于较早的修订版本。
用于 Knative serving 的标签为 Kubernetes 资源标签,不会传播到 Google Cloud。如需详细了解如何使用标签来分析集群资源使用情况,请参阅了解集群资源使用情况。
标签使用规则
只允许在 Knative serving 上使用有效的 Kubernetes 标签。
设置或修改标签
任何配置更改都会导致新修订版本的创建。后续修订版本也将自动采用此配置设置,除非您进行了明确更新。
在部署新服务或更新现有服务和部署修订版本时,您可以使用 Google Cloud 控制台、Google Cloud CLI 或 YAML 文件设置或修改标签:
控制台
- 在 Google Cloud 控制台中前往 Knative serving:
选中要为其设置标签的服务左侧的复选框。
确保最右侧的“信息面板”已开启(显示信息面板)。
点击标签以显示标签窗格。
要修改现有标签键值对,请找到相应标签,然后根据需要更改值。
要为该服务设置新标签,请点击添加标签并提供键和值。
点击保存。
命令行
您可以使用 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"
- 将 IMAGE_URL 替换为对容器映像的引用,例如
YAML
您可以使用 gcloud run services describe
命令和 --format=export
标志将现有服务的配置下载到的 YAML 文件中。然后,您可以使用 gcloud run services replace
命令修改该 YAML 文件并部署这些更改。您必须确保仅修改指定的属性。
将服务配置下载到本地工作区上名为
service.yaml
的文件中:gcloud run services describe SERVICE --format export > service.yaml
将 SERVICE 替换为您的 Knative serving 服务的名称。
在本地文件中,更新
labels
属性:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE labels: LABEL: 'VALUE'
替换
- 将 SERVICE 替换为您的 Knative serving 服务的名称
- 将 LABEL 替换为标签的名称
- 将 VALUE 替换为所需的值
使用以下命令将服务替换为其新配置:
gcloud run services replace service.yaml
按标签列出服务
您可以使用 Google Cloud CLI 过滤条件按标签列出服务:
gcloud run services list --filter metadata.labels.LABEL=VALUE
替换:
- 将 LABEL 替换为标签的名称
- 将 VALUE 替换为要包含在过滤列表中的值
删除标签
您可以使用控制台或命令行删除标签。
控制台
- 在 Google Cloud 控制台中前往 Knative serving:
选中要从中删除标签的服务左侧的复选框。
确保最右侧的“信息面板”已开启(显示信息面板)。
点击标签以显示标签窗格。
找到您要删除的标签。
将光标悬停在标签对应的“值”文本框的右侧,以显示垃圾箱图标,然后点击该图标。
点击保存。
命令行
要清除服务的所有标签,请使用以下命令:
gcloud run services update SERVICE --clear-labels
要删除服务的特定标签,请提供以英文逗号分隔的键列表:
gcloud run services update SERVICE --remove-labels LABEL
替换
- 将 SERVICE 替换为您的 Knative serving 服务的名称
- 将 LABEL 替换为您的标签名称