4.6. 为 GCP 管理用户定义的标记(label)和标签(tag)


Google Cloud Platform (GCP) 提供标记(label)和标签(tag),以帮助识别和组织为特定 OpenShift Container Platform 集群创建的资源,从而使它们更易于管理。

您只能在 OpenShift Container Platform 集群安装过程中为每个 GCP 资源定义标签和标记。

重要

升级到 OpenShift Container Platform 4.17 版本的 OpenShift Container Platform 集群不支持用户定义的标签和标记。

注意

您无法更新已添加的标签。另外,如果删除了配置的标签键或标签值,新的标签支持的资源创建会失败。

用户定义的标记(label)

用户定义的标记和 OpenShift Container Platform 特定的标记只适用于 OpenShift Container Platform 安装程序创建的资源及其核心组件,例如:

  • GCP filestore CSI Driver Operator
  • GCP PD CSI Driver Operator
  • Image Registry Operator
  • GCP 的机器 API 供应商

用户定义的标签不会附加到任何其他 Operator 或 Kubernetes in-tree 组件创建的资源中。

以下 GCP 资源提供了用户定义的标记和 OpenShift Container Platform 标记:

  • Compute 磁盘
  • Compute 转发规则
  • Compute 镜像
  • Compute 实例
  • DNS 受管区
  • FileStore 备份
  • FileStore 实例
  • 存储桶

用户定义的标记的限制

  • GCP beta 版本支持 ComputeAddress 的标记。OpenShift Container Platform 不向资源添加标记。

用户定义的标签(tag)

用户定义的标签只适用于 OpenShift Container Platform 安装程序及其核心组件创建的资源,如以下资源:

  • GCP FileStore CSI Driver Operator
  • GCP PD CSI Driver Operator
  • Image Registry Operator
  • GCP 的机器 API 供应商

用户定义的标签不会附加到任何其他 Operator 或 Kubernetes in-tree 组件创建的资源中。

用户定义的标签在以下 GCP 资源中可用:

  • Compute 磁盘
  • Compute 实例
  • FileStore 备份
  • FileStore 实例
  • 存储桶

用户定义的标签的限制

  • 标签不能仅限于特定的服务帐户,因为 Operator 会创建和使用最少的角色的服务帐户。
  • OpenShift Container Platform 不创建标签的任何键和值资源。
  • OpenShift Container Platform 特定的标签不会添加到任何资源。

4.6.1. 用户定义的标签和标签的条件

在为 Google Cloud Platform 配置用户定义的标签和标签前,请考虑满足这些要求和标签以确保正确资源监管的重要性。

以下列表详细介绍了用户定义的标签的要求:

  • 标记的键和值必须至少为 1 个字符,最多可有 63 个字符。
  • 标签键和值只能包含小写字母、数字字符、下划线(_)和短划线(-)。
  • 标记的键必须以小写开头。
  • 您可以为每个资源配置最多 32 个标记。

    • 每个资源最多有 64 个标签,OpenShift Container Platform 为内部使用保留 32 个标签。

以下列表详细介绍了用户定义的标签的要求:

  • 标签键和标签值必须已经存在。OpenShift Container Platform 不创建键和值。
  • 标签 parentID 可以是 OrganizationIDProjectID

    • OrganizationID 必需是没有前导零的十进制数字。
    • ProjectID 的长度为 6 到 30 个字符,其中仅包含小写字母、数字和连字符。
    • ProjectID 必须以字母开头,且不能以连字符结尾。
  • 标签键只能包含大写和小写字母数字字符、连字符(-)、下划线(_)和句点(..)。
  • 标签值必须只包含大写和小写字母数字字符以及以下任意字符:

    • 冒号(:)
    • 逗号()
    • 大括号({})
    • 一个连字符(-)
    • 括号(()
    • 百分比符号(%)
    • A加号(+)
    • 标语符号($)
    • 一个空格。
    • 方括号([])
    • A 符号(&)
    • 星号(*)
    • at 符号(@)
    • 等号(=)
    • 一个下划线(_)
    • 一个句点(.)
  • 标签键和值必须以字母数字字符开头和结尾。
  • 标签值必须是键的预定义值之一。
  • 您可以配置最多 50 个标签。
  • 不要定义标签键,其值与从父资源继承的任何现有标签键相同。

4.6.2. 为 GCP 配置用户定义的标记和标签

为 Google Cloud Platform 配置用户定义的标签和标签意味着您可以将键值对应用到云资源中,以满足组织、管理和自动化基础架构的目的。

先决条件

  • 安装程序要求服务帐户包含 TagUser 角色,以便安装程序可以在机构和项目级别创建带有定义标签的 OpenShift Container Platform 集群。

流程

  • 更新 install-config.yaml 文件,以定义所需标签和标签列表。

    注意

    如果在创建 install-config.yaml 配置文件的过程中设置了标签和标签,则无法在创建集群后创建新或更新现有标签和标签。

    install-config.yaml 文件示例

    apiVersion: v1
    credentialsMode: Passthrough 
    1
    
    platform:
     gcp:
       userLabels: 
    2
    
       - key: <label_key>
    3
    
         value: <label_value>
    4
    
       userTags: 
    5
    
       - parentID: <OrganizationID/ProjectID>
    6
    
         key: <tag_key_short_name>
         value: <tag_value_short_name>
    # ...
    Copy to Clipboard Toggle word wrap

    1
    在 passthrough 模式中,Cloud Credential Operator(CCO)将提供的云凭证传递给请求云凭证的组件。
    2
    将键和值作为标记添加到 GCP 上创建的资源。
    3
    定义标记名称。
    4
    定义标记内容。
    5
    将键和值作为标签添加到 GCP 上创建的资源。
    6
    您在机构或项目级别定义标签的分级资源的 ID。

4.6.3. 为 GCP 查询用户定义的标记和标签

创建 OpenShift Container Platform 集群后,您可以访问在 infrastructures.config.openshift.io/cluster 对象中的 GCP 资源定义的标记和标签列表,如以下示例 infrastructure.yaml 文件所示。

infrastructure.yaml 文件示例

apiVersion: config.openshift.io/v1
kind: Infrastructure
metadata:
 name: cluster
spec:
 platformSpec:
   type: GCP
status:
 infrastructureName: <cluster_id>
1

 platform: GCP
 platformStatus:
   gcp:
     resourceLabels:
     - key: <label_key>
       value: <label_value>
     resourceTags:
     - key: <tag_key_short_name>
       parentID: <OrganizationID/ProjectID>
       value: <tag_value_short_name>
   type: GCP
Copy to Clipboard Toggle word wrap

1
集群安装过程中生成的集群 ID。

除了用户定义的标记外,资源还具有 OpenShift Container Platform 定义的标记。OpenShift Container Platform 标记的格式是 kubernetes-io-cluster-<cluster_id>:owned

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat