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
      1
      <wif_name > 替换为 WIF 配置的名称。
      2
      使用实施 WIF 配置的 Google Cloud Platform (GCP)项目的 ID 替换

      输出示例

      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
      1
      <wif_name > 替换为 WIF 配置的名称。
      2
      使用实施 WIF 配置的 Google Cloud Platform (GCP)项目的 ID 替换

      配置 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
1
<version > 替换为您计划更新集群的 OpenShift Dedicated y-stream 版本。
2
<wif_name > 替换为您要更新的 WIF 配置的名称。

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 & 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.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.