4.6. 为 GCP 管理用户定义的标记(label)和标签(tag)
对 GCP 的用户定义的标记和标签的支持只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
Google Cloud Platform (GCP) 提供标记(label)和标签(tag),以帮助识别和组织为特定 OpenShift Container Platform 集群创建的资源,从而使它们更易于管理。
您只能在 OpenShift Container Platform 集群安装过程中为每个 GCP 资源定义标签和标记。
升级到 OpenShift Container Platform 4.16 版本的 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 供应商
用户定义的标签附加到 OpenShift Container Platform 安装程序、Image Registry Operator 和 Machine API Operator 创建的资源。用户定义的标签不会附加到任何其他 Operator 或 Kubernetes in-tree 组件创建的资源中。
以下 GCP 资源提供了用户定义的标记和 OpenShift Container Platform 标记:
- Compute 磁盘
- Compute 实例
- Compute 镜像
- Compute 转发规则
- DNS 受管区
- FileStore 实例
- 存储桶
用户定义的标记的限制
-
GCP beta 版本支持
ComputeAddress
的标记。OpenShift Container Platform 不向资源添加标记。
用户定义的标签(tag)
用户定义的标签附加到 OpenShift Container Platform Image Registry Operator 创建的资源中,而不是由任何其他 Operator 或 Kubernetes in-tree 组件创建的资源。
用户定义的标签在以下 GCP 资源中可用:
- 存储存储桶
- 计算实例
- Compute 磁盘
用户定义的标签的限制
标记不会附加到以下项目:
- GCP filestore CSI 驱动程序 Operator 创建的 FileStore 实例资源
- GCP PD CSI 驱动程序 Operator 创建的计算磁盘和计算镜像资源
- 标签不能仅限于特定的服务帐户,因为 Operator 会创建和使用最少的角色的服务帐户。
- OpenShift Container Platform 不创建标签的任何键和值资源。
- OpenShift Container Platform 特定的标签不会添加到任何资源。
4.6.1. 为 GCP 配置用户定义的标记和标签 复制链接链接已复制到粘贴板!
先决条件
-
安装程序要求服务帐户包含
TagUser
角色,以便安装程序可以在机构和项目级别创建带有定义标签的 OpenShift Container Platform 集群。
流程
更新
install-config.yaml
文件,以定义所需标记和标签列表。注意标记和标签在
install-config.yaml
创建阶段定义,且无法在集群创建后使用新标记和标签修改或更新。install-config.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下是用户定义的标记的要求:
- 标记的键和值必须至少为 1 个字符,最多可有 63 个字符。
-
标记的键和值只能包含小写字母、数字字符、下划线(
_
)和短划线(-
)。 - 标记的键必须以小写开头。
- 您可以为每个资源配置最多 32 个标记。每个资源最多可具有 64 个标记,并且为 OpenShift Container Platform 内部使用保留 32 个标记。
以下是用户定义的标签的要求:
- 标签键和标签值必须已经存在。OpenShift Container Platform 不创建键和值。
标签
parentID
可以是OrganizationID
或ProjectID
:-
OrganizationID
必需是没有前导零的十进制数字。 -
ProjectID
的长度为 6 到 30 个字符,其中仅包含小写字母、数字和连字符。 -
ProjectID
必须以字母开头,且不能以连字符结尾。
-
-
标签键只能包含大写和小写字母数字字符、连字符(
-
)、下划线(_
)和句点(.
)。 -
标签值必须仅包含大写和小写字母字符、连字符 (
-
), 下划线 (_
), 句点 (.
), at 符号 (@
), 百分比符号 (%
), 等号 (=
), 加号 (+
), colon (:
),逗号 (,
), 星号 (*
), pound sign ($
), ampersand (&
), parentheses (()
), square braces ([]
), curly braces ({}
), 和空格。 - 标签键和值必须以字母数字字符开头和结尾。
- 标签值必须是键的预定义值之一。
- 您可以配置最多 50 个标签。
- 不应存在使用与任何已存在的标签键的值(从父资源中继承)相同的定义的标签键。
4.6.2. 为 GCP 查询用户定义的标记和标签 复制链接链接已复制到粘贴板!
创建 OpenShift Container Platform 集群后,您可以访问在 infrastructures.config.openshift.io/cluster
对象中的 GCP 资源定义的标记和标签列表,如以下示例 infrastructure.yaml
文件所示。
infrastructure.yaml
文件示例
- 1
- 集群安装过程中生成的集群 ID。
除了用户定义的标记外,资源还具有 OpenShift Container Platform 定义的标记。OpenShift Container Platform 标记的格式是 kubernetes-io-cluster-<cluster_id>:owned
。