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。
要创建启用了 WIF 的集群,OpenShift Cluster Manager CLI (ocm
)必须是 1.0.2 版本或更高版本。
在创建集群前,您必须首先创建一个 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> \ 1 --project <gcp_project_id> \ 2
输出示例
2024/09/26 13:05:41 Creating workload identity configuration... 2024/09/26 13:05:47 Workload identity pool created with name 2e1kcps6jtgla8818vqs8tbjjls4oeub 2024/09/26 13:05:47 workload identity provider created with name oidc 2024/09/26 13:05:48 IAM service account osd-worker-oeub created 2024/09/26 13:05:49 IAM service account osd-control-plane-oeub created 2024/09/26 13:05:49 IAM service account openshift-gcp-ccm-oeub created 2024/09/26 13:05:50 IAM service account openshift-gcp-pd-csi-driv-oeub created 2024/09/26 13:05:50 IAM service account openshift-image-registry-oeub created 2024/09/26 13:05:51 IAM service account openshift-machine-api-gcp-oeub created 2024/09/26 13:05:51 IAM service account osd-deployer-oeub created 2024/09/26 13:05:52 IAM service account cloud-credential-operator-oeub created 2024/09/26 13:05:52 IAM service account openshift-cloud-network-c-oeub created 2024/09/26 13:05:53 IAM service account openshift-ingress-gcp-oeub created 2024/09/26 13:05:55 Role "osd_deployer_v4.17" updated
运行以下命令,以手动模式创建 WIF 配置:
$ ocm gcp create wif-config --name <wif_name> \ 1 --project <gcp_project_id> \ 2 --mode=manual
配置 WIF 后,将创建以下服务帐户、角色和组:
表 2.1. WIF 配置服务帐户、组和角色 服务帐户/组 GCP 预定义的角色和红帽自定义角色 osd-deployer
osd_deployer_v4.17
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.17
openshift-cloud-network-config-controller-gcp
openshift_cloud_network_config_controller_gcp_v4.17
openshift-gcp-ccm
openshift_gcp_ccm_v4.17
openshift-gcp-pd-csi-driver-operator
- compute.storageAdmin
- iam.serviceAccountUser
- resourcemanager.tagUser
- openshift_gcp_pd_csi_driver_operator_v4.17
openshift-image-registry-gcp
openshift_image_registry_gcs_v4.17
openshift-ingress-gcp
openshift_ingress_gcp_v4.17
openshift-machine-api-gcp
openshift_machine_api_gcp_v4.17
通过 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 1
- 1
交互模式
允许您在互动提示中指定配置选项。
运行以下命令,以非互动模式创建集群:
注意以下示例是一个可选的和必要的参数,可能与您的
非互动
模式命令不同。没有作为可选的参数是必需的。有关这些参数和其他参数的详情,请在终端窗口中运行ocm create cluster --help flag
命令。$ ocm create cluster <cluster_name> \ 1 --provider=gcp \ 2 --ccs=true \ 3 --wif-config <wif_name> \ 4 --region <gcp_region> \ 5 --subscription-type=marketplace-gcp \ 6 --marketplace-gcp-terms=true \ 7 --version <version> \ 8 --multi-az=true \ 9 --enable-autoscaling=true \ 10 --min-replicas=3 \ 11 --max-replicas=6 \ 12 --secure-boot-for-shielded-vms=true 13
- 1
- 将
<cluster_name
> 替换为集群的名称。 - 2
- 将值设为
gcp
。 - 3
- 将值设为
true
。 - 4
- 将
<wif_name
> 替换为 WIF 配置的名称。 - 5
- 使用部署新集群的 Google Cloud Platform (GCP)区域替换
。
- 6
- 可选:集群的订阅账单模型。
- 7
- 可选:如果您为
subscription-type
参数提供了marketplace-gcp
值,则marketplace-gcp-terms
必须等于true
。 - 8
- 可选:所需的 OpenShift 版本。
- 9
- 可选:部署到多个数据中心。
- 10
- 可选:启用计算节点的自动扩展。
- 11
- 可选:最少的计算节点数量。
- 12
- 可选:计算节点的最大数量。
- 13
- 可选:安全引导启用在 Google Cloud Platform 中使用 Shielded 虚拟机。
2.4.3. 列出 WIF 集群
要列出已使用 WIF 身份验证类型部署的所有 OpenShift Dedicated 集群,请运行以下命令:
$ 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>'" 1
- 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 --version <version> \ 1 --name <wif_name> 2
2.4.5. 验证 WIF 配置
您可以通过运行 ocm gcp verify wif-config
命令来验证与 WIF 配置关联的资源配置是否正确。如果找到错误配置,输出将提供有关错误配置的详细信息,并建议您更新 WIF 配置。
您需要要在验证前进行验证的 WIF 配置的名称和 ID。要获取活跃 WIF 配置的名称和 ID,请运行以下命令:
$ ocm gcp list wif-configs
要确定您要验证的 WIF 配置是否正确配置,请运行以下命令:
$ ocm gcp verify wif-config <wif_config_name>|<wif_config_id> 1
- 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.