2.4. 使用 OCM CLI 创建 Workload Identity Federation 集群
您可以在 Google Cloud Platform (GCP)集群上以互动或非互动模式使用 OpenShift Cluster Manager CLI (ocm
)使用 Workload Identity Federation (WIF)在 Google Cloud Platform (GCP)集群上创建 OpenShift Dedicated。
从 OpenShift Cluster Manager 上的 Downloads 页面下载您的操作系统的 OpenShift Cluster Manager CLI (ocm
)的最新版本。
OpenShift Cluster Manager API 命令行界面(ocm
)只是一个技术预览功能。有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围。
在创建集群前,您必须首先创建一个 WIF 配置。
不支持将现有非WIF 集群迁移到 WIF 配置。此功能只能在新集群创建过程中启用。
2.4.1. 创建 WIF 配置 复制链接链接已复制到粘贴板!
流程
您可以使用 auto
模式或 手动模式
创建 WIF 配置。
auto
模式允许您为 OpenShift Dedicated 组件和其他 IAM 资源自动创建服务帐户。
或者,您可以使用 手动模式
。在手动模式中
,您将获得一个 script.sh
文件中的命令,用于为 OpenShift Dedicated 组件和其它 IAM 资源手动创建服务帐户。
根据您的模式首选项,运行以下命令之一来创建 WIF 配置:
运行以下命令,以自动模式创建 WIF 配置:
ocm gcp create wif-config --name <wif_name> \ --project <gcp_project_id> \ --version <osd_version>
$ ocm gcp create wif-config --name <wif_name> \
1 --project <gcp_project_id> \
2 --version <osd_version>
3 --federated-project <gcp_project_id>
4 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<wif_name
> 替换为 WIF 配置的名称。 - 2
- 使用实施 WIF 配置的 Google Cloud Platform (GCP) 项目的 ID 替换
<gcp_project_id>
。 - 3
- 可选:将
<osd_version
> 替换为所需的 OpenShift Dedicated 版本,wif-config 需要支持。如果没有指定版本,则 wif-config 将支持最新的 OpenShift Dedicated y-stream 版本,以及最后三个支持的 OpenShift Dedicated y-stream 版本(以版本 4.17 开始)。 - 4
- 可选:使用创建和管理工作负载身份池和供应商的专用项目的 ID 替换
。如果没有指定
--federated-project
标志,则在由-project 标志指定的项目中创建和管理工作负载身份池和提供程序。
注意Google Cloud Platform (GCP)建议使用专用项目来创建和管理工作负载身份池和供应商。使用专用项目可帮助您对工作负载身份池和供应商的配置建立集中式管理,在所有项目和应用中实施统一属性映射和条件,并确保只有授权身份提供程序可以通过 WIF 进行身份验证。
如需更多信息,请参阅 使用专用项目来管理工作负载身份池和提供程序。
重要仅在初始 WIF 配置创建过程中,仅在专用项目中创建和管理工作负载身份池和提供程序。
--federated-project
标志无法应用到现有的wif-configs
。输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以手动模式创建 WIF 配置:
ocm gcp create wif-config --name <wif_name> \ --project <gcp_project_id> \ --mode=manual
$ ocm gcp create wif-config --name <wif_name> \
1 --project <gcp_project_id> \
2 --mode=manual
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 WIF 后,将创建以下服务帐户、角色和组:
Expand 表 2.1. WIF 配置服务帐户、组和角色 服务帐户/组 GCP 预定义的角色和红帽自定义角色 osd-deployer
osd_deployer_v4.18
osd-control-plane
- compute.instanceAdmin
- compute.networkAdmin
- compute.securityAdmin
- compute.storageAdmin
osd-worker
- compute.storageAdmin
- compute.viewer
cloud-credential-operator-gcp-ro-creds
cloud_credential_operator_gcp_ro_creds_v4
openshift-cloud-network-config-controller-gcp
openshift_cloud_network_config_controller_gcp_v4
openshift-gcp-ccm
openshift_gcp_ccm_v4
openshift-gcp-pd-csi-driver-operator
- compute.storageAdmin
- iam.serviceAccountUser
- resourcemanager.tagUser
- openshift_gcp_pd_csi_driver_operator_v4
openshift-image-registry-gcp
openshift_image_registry_gcs_v4
openshift-ingress-gcp
openshift_ingress_gcp_v4
openshift-machine-api-gcp
openshift_machine_api_gcp_v4
通过 SRE 组访问:sd-sre-platform-gcp-access
sre_managed_support
有关 WIF 配置角色及其分配权限的详情,请参阅 managed-cluster-config。
2.4.2. 创建 WIF 集群 复制链接链接已复制到粘贴板!
流程
您可以使用互动模式
或非互动模式
创建 WIF 集群。
在交互模式中
,集群属性会在创建集群时自动显示为提示。您可以根据提供的字段中指定要求输入这些提示的值。
在 非交互模式
中,您可以在命令中为特定参数指定值。
根据您的模式首选项,运行以下命令使用 WIF 配置在(GCP)集群上创建 OpenShift Dedicated:
运行以下命令,以互动模式创建集群:
ocm create cluster --interactive
$ ocm create cluster --interactive
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
交互模式
允许您在互动提示中指定配置选项。
运行以下命令,以非互动模式创建集群:
注意以下示例是一个可选的和必要的参数,可能与您的
非互动
模式命令不同。没有作为可选的参数是必需的。有关这些参数和其他参数的详情,请在终端窗口中运行ocm create cluster --help flag
命令。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name
> 替换为集群的名称。 - 2
- 将值设为
gcp
。 - 3
- 将值设为
true
。 - 4
- 将
<wif_name
> 替换为 WIF 配置的名称。 - 5
- 使用要部署新集群的 Google Cloud Platform (GCP) 区域替换
<gcp_region>
。 - 6
- 可选:集群的订阅账单模型。
- 7
- 可选:如果您为
subscription-type
参数提供了marketplace-gcp
值,则marketplace-gcp-terms
必须等于true
。 - 8
- 可选:所需的 OpenShift Dedicated 版本。
- 9
- 可选:部署到多个数据中心。
- 10
- 可选:启用计算节点的自动扩展。
- 11
- 可选:最少的计算节点数量。
- 12
- 可选:计算节点的最大数量。
- 13
- 可选:安全引导启用在 Google Cloud Platform 中使用 Shielded 虚拟机。
如果指定了 OpenShift Dedicated 版本,则该版本还必须被分配的 WIF 配置支持。如果指定了不被分配的 WIF 配置支持的版本,集群创建将失败。如果发生了这种情况,将分配的 WIF 配置更新至所需的版本,或者在 --version <osd_version> 字段中使用所需版本创建新的 WIF 配置。
如果您的集群部署在安装过程中失败,在安装过程中创建的某些资源不会自动从 Google Cloud Platform (GCP)帐户中删除。要从 GCP 帐户中删除这些资源,您必须删除失败的集群。
2.4.3. 列出 WIF 集群 复制链接链接已复制到粘贴板!
要列出已使用 WIF 身份验证类型部署的所有 OpenShift Dedicated 集群,请运行以下命令:
ocm list clusters --parameter search="gcp.authentication.wif_config_id != ''"
$ ocm list clusters --parameter search="gcp.authentication.wif_config_id != ''"
要列出使用特定 wif-config 部署的所有 OpenShift Dedicated 集群,请运行以下命令:
ocm list clusters --parameter search="gcp.authentication.wif_config_id = '<wif_config_id>'"
$ ocm list clusters --parameter search="gcp.authentication.wif_config_id = '<wif_config_id>'"
- 1
- 将
<wif_config_id
> 替换为 WIF 配置的 ID。
2.4.4. 更新 WIF 配置 复制链接链接已复制到粘贴板!
更新 WIF 配置仅适用于 y-stream 更新。有关更新过程的概述,包括版本语义的详细信息,请参阅 OpenShift 版本的指南和集群管理员的升级过程。
在将启用了 WIF 的 OpenShift Dedicated 集群升级到更新的版本前,还必须将 wif-config 更新至那个版本。如果您在试图升级集群版本前没有更新 wif-config 版本,集群版本升级将失败。
您可以运行以下命令来将 wif-config 更新至特定的 OpenShift Dedicated 版本:
ocm gcp update wif-config <wif_name> \ --version <version>
ocm gcp update wif-config <wif_name> \
--version <version>
2.4.5. 验证 WIF 配置 复制链接链接已复制到粘贴板!
您可以通过运行 ocm gcp verify wif-config
命令来验证与 WIF 配置关联的资源配置是否正确。如果找到错误配置,输出将提供有关错误配置的详细信息,并建议您更新 WIF 配置。
您需要要在验证前进行验证的 WIF 配置的名称和 ID。要获取活跃 WIF 配置的名称和 ID,请运行以下命令:
ocm gcp list wif-configs
$ ocm gcp list wif-configs
要确定您要验证的 WIF 配置是否正确配置,请运行以下命令:
ocm gcp verify wif-config <wif_config_name>|<wif_config_id>
$ ocm gcp verify wif-config <wif_config_name>|<wif_config_id>
- 1
- 将
<wif_config_name
> 和 <wif_config_id
> 分别替换为 WIF 配置的名称和 ID。
输出示例
Error: verification failed with error: missing role 'compute.storageAdmin'. Running 'ocm gcp update wif-config' may fix errors related to cloud resource misconfiguration. exit status 1.
Error: verification failed with error: missing role 'compute.storageAdmin'.
Running 'ocm gcp update wif-config' may fix errors related to cloud resource misconfiguration.
exit status 1.