第 9 章 在不使用 AWS STS 的情况下部署 ROSA

9.1. ROSA 的 AWS 先决条件

Red Hat OpenShift Service on AWS (ROSA)提供了一个模型,红帽可以将集群部署到客户的现有 Amazon Web Service (AWS)帐户中。

您必须确保在安装 ROSA 前满足先决条件。此要求文档不适用于 AWS 安全令牌服务(STS)。如果使用 STS,请参阅 STS 特定要求

提示

AWS 安全令牌服务 (STS) 是推荐的凭证模式,用于安装 Red Hat OpenShift Service on AWS (ROSA) 集群并与之交互,因为它提供了增强的安全性。

9.1.1. 部署先决条件

要将 Red Hat OpenShift Service on AWS (ROSA) 部署到现有的 Amazon Web Services (AWS) 帐户中,红帽要求满足以下几个先决条件。

红帽建议使用 AWS 机构管理多个 AWS 帐户。由客户管理的 AWS 机构托管多个 AWS 帐户。机构中有一个 root 帐户,所有帐户都将在帐户层次结构中引用。

它是在 AWS 机构单元内托管在 AWS 帐户中的 ROSA 集群的最佳实践。创建服务控制策略 (SCP) 并应用到 AWS 机构单元,后者管理 AWS 子帐户可访问的服务。SCP 仅适用于单个 AWS 帐户内对机构单元中的所有 AWS 子帐户的可用权限。也可以将 SCP 应用到单个 AWS 帐户。客户 AWS 组织中的所有其他帐户以客户要求的任何方式进行管理。红帽站点可靠性工程师(SRE)对 AWS 机构内的 SCP 没有控制。

9.1.2. 客户需求

在部署前,Red Hat OpenShift Service on AWS (ROSA)集群必须满足几个先决条件。

注意

要创建集群,用户必须以 IAM 用户身份登录,而不是假定的角色或 STS 用户。

9.1.2.1. 帐户

  • 客户可确保 AWS limits 足以支持在客户 AWS 帐户中置备 Red Hat OpenShift Service on AWS。
  • 客户的 AWS 帐户应该位于客户具有适用服务控制策略 (SCP) 的 AWS 机构中。

    注意

    不要求客户的帐户位于 AWS 机构内或要应用的 SCP,但红帽必须能够在不限制任何限制的情况下执行 SCP 中列出的所有操作。

  • 客户的 AWS 帐户不应转移到红帽。
  • 客户可能不会向红帽活动实施 AWS 使用限制。受损限制将严重阻碍红帽响应事件的能力。
  • 客户可以在同一 AWS 帐户内部署原生 AWS 服务。

    注意

    我们鼓励客户在虚拟私有云(VPC)中部署资源,与在 AWS 上托管 Red Hat OpenShift Service 的 VPC 以及其它红帽支持的服务分开。

9.1.2.2. 访问要求

  • 要在 AWS 服务上正确管理 Red Hat OpenShift Service,红帽始终必须将 AdministratorAccess 策略应用到管理员角色。如果您使用 AWS 安全令牌服务(STS),则此要求 不适用

    注意

    此政策只为红帽提供了更改客户提供的 AWS 帐户资源的权限和功能。

  • 红帽必须具有对客户提供的 AWS 帐户的 AWS 控制台访问权限。此访问权限由红帽保护和管理。
  • 客户不得使用 AWS 帐户在 Red Hat OpenShift Service on AWS 集群中提升其权限。
  • Red Hat OpenShift Service on AWS (ROSA) CLI、rosaOpenShift Cluster Manager Hybrid Cloud Console 控制台中提供的操作不能直接在客户的 AWS 帐户中执行。

9.1.2.3. 支持要求

  • 红帽建议客户从 AWS 至少有商业支持
  • 红帽的客户授权可以代表他们请求 AWS 支持。
  • 红帽的客户授权可以请求 AWS 资源限制来增加客户的帐户。
  • 除非本要求部分中另有指定,否则红帽以相同的方式管理所有 Red Hat OpenShift Service on AWS 集群上的限制、预期和默认值。

9.1.2.4. 安全要求

  • 卷快照将保留在客户的 AWS 帐户和客户指定的区域。
  • 红帽必须具有来自允许 IP 地址的对 EC2 主机和 API 服务器的入口(ingress)访问权限。
  • 红帽需要有一个出口,可以将系统和审计日志转发到红帽管理的中央日志记录环境中。

9.1.3. 所需的客户流程

在部署 Red Hat OpenShift Service on AWS (ROSA)前完成这些步骤。

流程

  1. 如果您作为客户使用 AWS 机构,那么您必须在您的机构中使用 AWS 帐户或 创建新帐户
  2. 为确保红帽可以执行必要的操作,您必须创建一个服务控制策略(SCP),或确保 none 应用到 AWS 帐户。
  3. 将 SCP 附加到 AWS 帐户。
  4. 按照设置环境的 ROSA 步骤进行操作。

9.1.3.1. 服务控制策略的最小有效权限集(SCP)

服务控制策略(SCP)是一种机构策略类型,可管理您的机构中的权限。SCP 可确保您机构中的帐户保留在您定义的访问控制指南中。这些策略在 AWS 机构中维护,并控制附加的 AWS 帐户中可用的服务。SCP 管理是客户的职责。

注意

使用 AWS 安全令牌服务(STS)时,最低 SCP 要求不适用。有关 STS 的更多信息,请参阅使用 STS 的 ROSA 的 AWS 先决条件

验证您的服务控制策略(SCP)是否不限制任何这些所需的权限。

 ServiceActions效果

必需

Amazon EC2

All

Allow

Amazon EC2 自动扩展

All

Allow

Amazon S3

All

Allow

身份和访问管理

All

Allow

Elastic Load Balancing

All

Allow

Elastic Load Balancing V2

All

Allow

Amazon CloudWatch

All

Allow

Amazon CloudWatch Events

All

Allow

Amazon CloudWatch Logs

All

Allow

AWS Support

All

Allow

AWS 密钥管理服务

All

Allow

AWS 安全令牌服务

All

Allow

AWS Marketplace

Subscription

取消订阅

查看订阅

Allow

AWS Resource Tagging

All

Allow

AWS Route53 DNS

All

Allow

AWS Service Quotas

ListServices

GetRequestedServiceQuotaChange

GetServiceQuota

RequestServiceQuotaIncrease

ListServiceQuotas

Allow

选填

AWS Billing

ViewAccount

Viewbilling

ViewUsage

Allow

AWS 成本和使用量报告

All

Allow

AWS Cost Explorer Services

All

Allow

9.1.4. Red Hat Managed IAM 参考

红帽负责创建和管理以下 Amazon Web Services (AWS)资源:IAM 策略、IAM 用户和 IAM 角色。

9.1.4.1. IAM 策略

注意

IAM 策略会随着 Red Hat OpenShift Service on AWS 的变化而进行修改。

  • AdministratorAccess 策略由管理角色使用。此政策提供了在客户 AWS 帐户中管理 Red Hat OpenShift Service on AWS (ROSA)集群所需的访问权限。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": "*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

9.1.4.2. IAM 用户

在将 ROSA 安装到客户的 AWS 帐户后,osdManagedAdmin 用户会立即创建。

9.1.5. 置备的 AWS 基础架构

这是在部署的 Red Hat OpenShift Service on AWS (ROSA) 中置备的 Amazon Web Services (AWS) 组件的概述。有关所有置备的 AWS 组件的详细列表,请参阅 OpenShift Container Platform 文档

9.1.5.1. EC2 实例

在 AWS 公有云中部署 ROSA 的 control plane 和 data plane 功能需要 AWS EC2 实例。

根据 worker 节点数,实例类型可能会因 control plane 和基础架构节点而异。至少会部署以下 EC2 实例:

  • 三个 m5.2xlarge control plane 节点
  • 两个 r5.xlarge 基础架构节点
  • 两个 m5.xlarge 自定义 worker 节点

有关 worker 节点计数的更多信息,请参阅此页面的"Limits and scalability"部分中有关初始规划注意事项的信息。

9.1.5.2. Amazon Elastic Block Store 存储

Amazon Elastic Block Store (Amazon EBS)块存储用于本地节点存储和持久性卷存储。

每个 EC2 实例的卷要求:

  • Control Plane 卷

    • 大小:350GB
    • 类型: io1
    • 每秒输入/输出操作: 1000
  • 基础架构卷

    • 大小:300GB
    • 类型: gp3
    • 每秒输入/输出操作:900
  • Worker 卷

    • 大小:300GB
    • 类型: gp3
    • 每秒输入/输出操作:900
注意

在 OpenShift Container Platform 4.11 发布前部署的集群默认使用 gp2 类型存储。

9.1.5.3. Elastic Load Balancing

最多两个 Network Load Balancers for API,最多两个 Classic Load Balancers 用于应用程序路由器。如需更多信息,请参阅 AWS 的 ELB 文档

9.1.5.4. S3 存储

镜像 registry 由 AWS S3 存储支持。定期修剪资源以优化 S3 使用量和集群性能。

注意

需要两个存储桶,每个 bucket 典型的大小为 2TB。

9.1.5.5. VPC

客户应该希望看到每个集群一个 VPC。另外,VPC 需要以下配置:

  • 子网 :一个具有单一可用区的集群的两个子网,或具有多个可用区的集群 6 个子网。

    注意

    公共子网 通过互联网网关直接连接到互联网。专用子网 通过网络地址转换(NAT)网关连接到互联网。

  • 路由表 :每个专用子网一个路由表,每个集群有一个额外的表。
  • Internet 网关 :每个集群一个互联网网关。
  • NAT 网关 :每个公共子网一个 NAT 网关。
9.1.5.5.1. VPC 架构示例
VPC 参考架构

9.1.5.6. 安全组

AWS 安全组在协议和端口访问级别提供安全性;它们与 EC2 实例和 Elastic Load Balancing (ELB)负载均衡器关联。每个安全组包含一组规则,这些规则过滤进出一个或多个 EC2 实例的流量。您必须确保在网络上打开 OpenShift 安装所需的端口,并配置为允许主机间的访问。

类型IP 协议端口范围

MasterSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

tcp

6443

tcp

22623

WorkerSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

BootstrapSecurityGroup

AWS::EC2::SecurityGroup

tcp

22

tcp

19531

9.1.7. 后续步骤

9.1.8. 其他资源