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> \ 
      1
      
        --project <gcp_project_id> \ 
      2
      
        --version <osd_version> 
      3
      
        --federated-project <gcp_project_id> 
      4
      Copy to Clipboard Toggle word wrap
      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

      输出示例

      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.18" updated
      Copy to Clipboard Toggle word wrap

    • 运行以下命令,以手动模式创建 WIF 配置:

      $ ocm gcp create wif-config --name <wif_name> \ 
      1
      
        --project <gcp_project_id> \ 
      2
      
        --mode=manual
      Copy to Clipboard Toggle word wrap
      1
      <wif_name > 替换为 WIF 配置的名称。
      2
      使用实施 WIF 配置的 Google Cloud Platform (GCP) 项目的 ID 替换 <gcp_project_id>

      配置 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 
      1
      Copy to Clipboard Toggle word wrap
      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
      Copy to Clipboard Toggle word wrap
      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 != ''"
Copy to Clipboard Toggle word wrap

要列出使用特定 wif-config 部署的所有 OpenShift Dedicated 集群,请运行以下命令:

$ ocm list clusters --parameter search="gcp.authentication.wif_config_id = '<wif_config_id>'" 
1
Copy to Clipboard Toggle word wrap
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> \ 
1

--version <version> 
2
Copy to Clipboard Toggle word wrap
1
<wif_name > 替换为您要更新的 WIF 配置的名称。
2
可选:将 <version > 替换为您计划更新集群的 OpenShift Dedicated y-stream 版本。如果没有指定版本,则 wif-config 将更新以支持最新的 OpenShift Dedicated y-stream 版本,以及最后三个 OpenShift Dedicated 支持的 y-stream 版本(以版本 4.17 开始)。

2.4.5. 验证 WIF 配置

您可以通过运行 ocm gcp verify wif-config 命令来验证与 WIF 配置关联的资源配置是否正确。如果找到错误配置,输出将提供有关错误配置的详细信息,并建议您更新 WIF 配置。

您需要要在验证前进行验证的 WIF 配置的名称和 ID。要获取活跃 WIF 配置的名称和 ID,请运行以下命令:

$ ocm gcp list wif-configs
Copy to Clipboard Toggle word wrap

要确定您要验证的 WIF 配置是否正确配置,请运行以下命令:

$ ocm gcp verify wif-config <wif_config_name>|<wif_config_id> 
1
Copy to Clipboard Toggle word wrap
1
<wif_config_name & gt; 和 <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.
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat