2.3. 所需的客户流程
客户云订阅(CCS)模型允许红帽在客户的 Google Cloud Platform (GCP)项目中部署和管理 OpenShift Dedicated。在提供这些服务前,红帽需要完成几个先决条件。
本主题中的以下要求适用于使用 Workload Identity Federation (WIF)和服务帐户身份验证类型创建的 Google Cloud Platform (GCP)集群的 OpenShift Dedicated。红帽建议使用 WIF 作为身份验证类型,以安装并与 GCP 上部署的 OpenShift Dedicated 集群交互,因为 WIF 提供了增强的安全性。
有关使用 WIF 身份验证类型创建集群的详情,请参考 附加资源。
有关只应用到 WIF 身份验证类型的额外要求,请参阅 Workload Identity Federation 身份验证类型。有关只应用到服务帐户验证类型的额外要求,请参阅 服务帐户验证类型流程。
先决条件
在 GCP 项目中使用 OpenShift Dedicated 之前,请确认在适用情况下正确配置了以下机构策略限制:
constraints/iam.allowedPolicyMemberDomains
-
只有在红帽的目录客户 ID 的
C02k0l5e8
和C04j7mbwl
包含在 allowlist 中时,才支持此策略约束。
-
只有在红帽的目录客户 ID 的
constraints/compute.restrictLoadBalancerCreationForTypes
只有在使用 GCP Private Service Connect (PSC)创建私有集群时,才支持此策略约束。您必须确保
INTERNAL_TCP_UDP
负载均衡器类型包含在 allowlist 中,或从 deny 列表中排除。重要虽然在使用 GCP Private Service Connect (PSC)创建私有集群时不需要
EXTERNAL_NETWORK_TCP_UDP
负载均衡器类型,但不允许通过这个约束来创建外部可访问的负载均衡器。
constraints/compute.requireShieldedVm
- 只有在创建带有在初始集群创建过程中选择的 Shielded 虚拟机的 Enable Secure Boot 支持 时,才支持此策略约束。
constraints/compute.vmExternalIpAccess
- 只有在使用 GCP Private Service Connect (PSC)创建私有集群时,才支持此策略约束。对于所有其他集群类型,只有集群创建后才支持此策略约束。
constraints/compute.trustedImageProjects
-
只有在项目
redhat-marketplace-public
、rhel-cloud
和rhcos-cloud
项目包含在 allowlist 中时,才支持此策略约束。如果启用了此策略约束,且这些项目没有包括在允许列表中,集群创建将失败。
-
只有在项目
有关配置 GCP 机构策略限制的更多信息,请参阅 机构策略限制。
流程
- 创建 Google Cloud 项目来托管 OpenShift Dedicated 集群。
在托管 OpenShift Dedicated 集群的项目中启用以下所需的 API:
Expand 表 2.1. 所需的 API 服务 API 服务 控制台服务名称 用途 deploymentmanager.googleapis.com
用于自动部署和管理基础架构资源。
compute.googleapis.com
用于创建和管理虚拟机、防火墙、网络、持久磁盘卷和负载平衡器。
cloudresourcemanager.googleapis.com
用于获取项目、获取或为项目设置 IAM 策略,验证所需的权限和标记。
dns.googleapis.com
用于创建 DNS 区域并管理集群域的 DNS 记录。
iamcredentials.googleapis.com
用于创建用于模拟 IAM 服务帐户的简短凭证。
iam.googleapis.com
用于管理集群的 IAM 配置。
servicemanagement.googleapis.com
间接用于获取 GCP 资源的配额信息。
serviceusage.googleapis.com
用于确定客户的 Google Cloud 帐户中可用哪些服务。
storage-api.googleapis.com
用于访问镜像 registry、I ignition 和集群备份的云存储(如果适用)。
storage-component.googleapis.com
用于管理镜像 registry、I ignition 和集群备份的云存储(如果适用)。
orgpolicy.googleapis.com
用于识别应用到客户的 Google Cloud 的监管规则,它们可能会影响集群创建或管理。
iap.googleapis.com
[*]在紧急情况下对集群节点进行故障排除(使用其他方式无法访问)。
使用私有 Service Connect 部署的集群需要此 API。
2.3.1. 工作负载身份联邦身份验证类型过程 复制链接链接已复制到粘贴板!
除了所需客户流程中列出的 所需客户 外,在使用 Workload Identity Federation (WIF)作为身份验证类型在 Google Cloud Platform (GCP)上创建 OpenShift Dedicated 集群时,您必须采取其他特定操作。
流程
为实现 WIF 身份验证类型的用户 的服务帐户 分配以下角色:
重要只有在创建、更新或删除 WIF 配置时,才需要以下角色:
Expand 表 2.2. 所需角色 角色 控制台角色名称 角色目的 Role Administrator
roles/iam.roleAdmin
OCM CLI 中的 GCP 客户端需要用于创建自定义角色。
Service Account Admin
roles/iam.serviceAccountAdmin
需要预先创建 OSD 部署器、支持和操作器所需的服务帐户。
工作负载身份池管理员
roles/iam.workloadIdentityPoolAdmin
创建和配置工作负载身份池是必需的。
项目 IAM Admin
roles/resourcemanager.projectIamAdmin
为服务帐户分配角色并授予那些对云资源执行操作所需的角色的权限。
安装 OpenShift Cluster Manager API 命令行界面(
ocm
)。重要OpenShift Cluster Manager API 命令行界面(
ocm
)只是一个技术预览功能。有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围。要针对 Red Hat OpenShift Cluster Manager 帐户进行身份验证,请运行以下命令之一。
如果您的系统支持基于 Web 的浏览器,请运行 Red Hat Single sign-on (SSO)授权代码命令来保护身份验证:
语法
ocm login --use-auth-code
$ ocm login --use-auth-code
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行此命令会将您重定向到 Red Hat SSO 登录。使用您的 Red Hat 登录或电子邮件登录。
如果您在没有 Web 浏览器的情况下使用容器、远程主机和其他环境,请运行 Red Hat Single sign-on (SSO) device code 命令进行安全身份验证:
语法
ocm login --use-device-code
$ ocm login --use-device-code
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行此命令会将您重定向到红帽 SSO 登录,并提供登录代码。
要切换帐户,请从 https://sso.redhat.com 注销,并在尝试再次登录前在终端中运行
ocm logout
命令。
- 安装 gcloud CLI。
- 使用应用程序 默认凭证(ADC) 验证 gcloud CLI。
2.3.2. 服务帐户验证类型流程 复制链接链接已复制到粘贴板!
除了所需客户流程中列出的 所需客户 外,还需要执行其他特定的操作,在 Google Cloud Platform (GCP)上创建 OpenShift Dedicated 集群时,需要使用服务帐户作为身份验证类型。
流程
为确保红帽可以执行必要的操作,您必须在 GCP 项目中创建
osd-ccs-admin
IAM 服务帐户 用户。以下角色必须授予服务帐户 :
Expand 表 2.3. 所需角色 角色 控制台角色名称 Compute Admin
roles/compute.admin
DNS Administrator
roles/dns.admin
机构策略查看器
roles/orgpolicy.policyViewer
服务管理管理员
roles/servicemanagement.admin
Service Usage Admin
roles/serviceusage.serviceUsageAdmin
Storage Admin
roles/storage.admin
Compute Load Balancer Admin
roles/compute.loadBalancerAdmin
角色查看器
roles/viewer
Role Administrator
roles/iam.roleAdmin
Security Admin
roles/iam.securityAdmin
Service Account Key Admin
roles/iam.serviceAccountKeyAdmin
Service Account Admin
roles/iam.serviceAccountAdmin
Service Account User
roles/iam.serviceAccountUser
-
为
osd-ccs-admin
IAM 服务帐户创建服务帐户密钥。将密钥导出到名为osServiceAccount.json
的文件;创建集群时,此 JSON 文件将在 Red Hat OpenShift Cluster Manager 中上传。