第 2 章 使用 STS 部署 ROSA 的详细要求
Red Hat OpenShift Service on AWS (ROSA)提供了一个模型,它允许红帽将集群部署到客户的现有 Amazon Web Service (AWS)帐户中。
AWS 安全令牌服务 (STS) 是推荐的凭证模式,用于安装 Red Hat OpenShift Service on AWS (ROSA) 集群并与之交互,因为它提供了增强的安全性。
在使用 STS 安装 ROSA 前,请确保满足以下 AWS 先决条件。
当使用 AWS STS 创建 ROSA 集群时,也会创建一个关联的 AWS OpenID Connect (OIDC)身份提供程序。此 OIDC 供应商配置依赖于位于 us-east-1
AWS 区域的公钥。具有 AWS SCP 的客户必须允许使用 us-east-1
AWS 区域,即使这些集群部署在不同的区域。
2.1. 使用 STS 进行部署时的客户要求
在使用 AWS 安全令牌服务(STS)部署 Red Hat OpenShift Service on AWS (ROSA)集群前必须完成以下先决条件。
2.1.1. 帐户
您必须确保 AWS 限制足以支持 AWS 帐户中置备的 Red Hat OpenShift Service on AWS。在 CLI 中运行
rosa verify quota
命令会验证您是否具有运行集群所需的配额。注意配额验证检查 AWS 配额,但不会将您的消耗与 AWS 配额进行比较。如需更多信息,请参阅附加资源中的 "Limits and scalability" 链接。
- 如果应用并强制实施 SCP 策略,则这些策略必须比集群所需的角色和策略更严格。
- 您的 AWS 帐户不能转移到红帽。
- 您应该不会在红帽活动中除定义的角色和策略外增加额外的 AWS 使用量限制。受损限制将严重阻碍红帽响应事件的能力。
- 您可以在同一 AWS 帐户内部署原生 AWS 服务。
您的帐户必须设置有 service-linked 角色,因为它需要配置 Elastic Load Balancing (ELB)。有关之前没有在 AWS 帐户中创建负载均衡器的信息,请参阅附加资源中的"创建弹性负载均衡(ELB)服务链接角色"链接角色"。
注意建议您在 Virtual Private Cloud (VPC)中部署与托管 Red Hat OpenShift Service on AWS 和其他红帽支持服务的 VPC 中的资源。
2.1.2. 访问要求
- 红帽必须具有 AWS 控制台访问客户提供的 AWS 帐户。红帽保护和管理此访问。
- 您不能使用 AWS 帐户在 AWS (ROSA)集群上提升权限。
-
ROSA CLI (
rosa
)或 OpenShift Cluster Manager 控制台中可用的操作不能直接在 AWS 帐户中执行。 - 您不需要有一个预配置的域来部署 ROSA 集群。如果要使用自定义域,请参阅附加资源以了解更多信息。
其他资源
- 请参阅 为应用程序配置自定义域
2.1.3. 支持要求
- 红帽建议客户从 AWS 至少有 业务支持。
- 红帽可能有权代表他们请求 AWS 支持。
- 红帽可能拥有客户权限来请求 AWS 资源限制来增加客户的帐户。
- 除非在此要求部分中另有指定,否则红帽会以相同的方式管理所有 Red Hat OpenShift Service on AWS 集群的限制、限制、预期和默认值。
2.1.4. 安全要求
- 红帽必须具有来自允许 IP 地址的对 EC2 主机和 API 服务器的入口访问权限。
- 红帽必须对记录的域有出口。有关指定域的"AWS 防火墙先决条件"部分。
其他资源
2.1.5. 使用 OpenShift Cluster Manager 的要求
以下小节描述了 OpenShift Cluster Manager 的要求。如果您只使用 CLI 工具,您可以忽略要求。
要使用 OpenShift Cluster Manager,您必须链接 AWS 帐户。此链接概念也称为帐户关联。
2.1.5.1. AWS 帐户关联
Red Hat OpenShift Service on AWS (ROSA)集群置备任务需要使用 Amazon Resource Name (ARN)将 ocm-role
和 user-role
IAM 角色链接到 AWS 帐户。
ocm-role
ARN 存储为红帽机构中的标签,而 user-role
ARN 则作为标签存储在红帽用户帐户中。红帽使用这些 ARN 标签来确认用户是有效的帐户拥有者,并可使用正确的权限来执行 AWS 帐户中的必要任务。
2.1.5.2. 链接 AWS 帐户
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI 将 AWS 帐户链接到现有的 IAM 角色,rosa
。
前提条件
- 您有一个 AWS 帐户。
- 您可以使用 OpenShift Cluster Manager 创建集群。
- 您有安装 AWS 范围的角色所需的权限。如需更多信息,请参阅本节的"附加资源"。
-
您已在安装主机上安装和配置了最新的 AWS (
aws
) 和 ROSA (rosa
) CLI。 您已创建了
ocm-role
和user-role
IAM 角色,但还没有将它们链接到 AWS 帐户。您可以运行以下命令来检查您的 IAM 角色是否已链接:$ rosa list ocm-role
$ rosa list user-role
如果这两个角色的
Linked
列中显示了Yes
,您已将角色链接到 AWS 帐户。
流程
在 CLI 中,使用 Amazon 资源名称(ARN)将
ocm-role
资源链接到您的红帽机构:注意您必须具有红帽机构管理员权限才能运行
rosa link
命令。将ocm-role
资源与 AWS 帐户链接后,对机构的所有用户可见。$ rosa link ocm-role --role-arn <arn>
输出示例
I: Linking OCM role ? Link the '<AWS ACCOUNT ID>` role with organization '<ORG ID>'? Yes I: Successfully linked role-arn '<AWS ACCOUNT ID>' with organization account '<ORG ID>'
在 CLI 中,使用 Amazon 资源名称(ARN)将您的
user-role
资源链接到您的红帽用户帐户:$ rosa link user-role --role-arn <arn>
输出示例
I: Linking User role ? Link the 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' role with organization '<AWS ID>'? Yes I: Successfully linked role-arn 'arn:aws:iam::<ARN>:role/ManagedOpenShift-User-Role-125' with organization account '<AWS ID>'
其他资源
2.1.5.3. 将多个 AWS 帐户与红帽机构相关联
您可以将多个 AWS 帐户与红帽机构相关联。通过关联多个帐户,您可以从红帽机构在任何关联的 AWS 帐户上创建 Red Hat OpenShift Service on AWS (ROSA)集群。
使用此功能,您可以使用多个 AWS 配置集作为区域密集型环境在不同的 AWS 区域中创建集群。
前提条件
- 您有一个 AWS 帐户。
- 您可以使用 OpenShift Cluster Manager 创建集群。
- 您有安装 AWS 范围的角色所需的权限。
-
您已在安装主机上安装和配置了最新的 AWS (
aws
) 和 ROSA (rosa
) CLI。 -
您已创建了
ocm-role
和user-role
IAM 角色。
流程
要关联一个额外的 AWS 帐户,首先在本地 AWS 配置中创建配置集。然后,通过在其他 AWS 帐户中创建 ocm-role
、用户帐户角色,将帐户与您的红帽机构相关联。
要在附加区域中创建角色,在运行 rosa create
命令时指定 --profile <aws-profile>
参数,将 <aws_profile>
替换为附加帐户配置集名称:
在创建 OpenShift Cluster Manager 角色时指定 AWS 帐户配置集:
$ rosa create --profile <aws_profile> ocm-role
在创建用户角色时指定 AWS 帐户配置集:
$ rosa create --profile <aws_profile> user-role
在创建帐户角色时指定 AWS 帐户配置集:
$ rosa create --profile <aws_profile> account-roles
如果没有指定配置集,则使用默认 AWS 配置集。