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


11.1. ROSA 的 AWS 先决条件

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

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

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。

11.1.1. 客户需求

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

注意

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

11.1.1.1. 帐户

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

    注意

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

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

    注意

    我们鼓励客户在 Virtual Private Cloud (VPC)中部署与托管 Red Hat OpenShift Service on AWS 和其他红帽支持服务的 VPC 中的资源。

11.1.1.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 控制台中提供的操作不能直接在客户的 AWS 帐户中执行。

11.1.1.3. 支持要求

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

11.1.1.4. 安全要求

  • 卷快照将保留在客户的 AWS 帐户和客户指定的区域。
  • 红帽必须具有来自允许 IP 地址的对 EC2 主机和 API 服务器的入口访问权限。
  • 红帽必须有出口状态,才能将系统和审计日志转发到红帽管理的中央日志记录堆栈。

11.1.2. 所需的客户流程

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

流程

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

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

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

注意

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

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

Expand
 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 EC2 实例连接

SendSerialConsoleSSHPublicKey

Allow

AWS Support

All

Allow

AWS 密钥管理服务

All

Allow

AWS 安全令牌服务

All

Allow

AWS Tiro

CreateQuery

GetQueryAnswer

GetQueryExplanation

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

11.1.3. Red Hat managed IAM reference for AWS

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

11.1.3.1. IAM 策略

注意

IAM 策略可能会根据 Red Hat OpenShift Service on AWS 的功能进行修改。

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

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": "*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    Copy to Clipboard Toggle word wrap

11.1.3.2. IAM 用户

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

11.1.4. 置备的 AWS 基础架构

这是在部署的 ROSA (经典)集群中置备的 Amazon Web Services (AWS)组件的概述。

11.1.4.1. EC2 实例

为 ROSA (类ic)部署 control plane 和数据平面功能需要 AWS EC2 实例。

根据 worker 节点数,实例类型可能会因 control plane 和基础架构节点而异。

至少部署以下 EC2 实例:

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

worker 节点显示的实例类型是默认值,但您可以根据工作负载需求自定义 worker 节点的实例类型。

11.1.4.2. Amazon Elastic Block Store 存储

Amazon Elastic Block Store (Amazon EBS)块存储用于本地节点存储和持久性卷存储。默认情况下,为每个 EC2 实例置备以下存储:

  • Control Plane 卷

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

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

    • 默认大小:300 GiB (可在创建时调整)
    • 最小大小:128GB
    • 类型: gp3
    • 每秒输入/输出操作:900
注意

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

11.1.4.3. Elastic Load Balancing

每个集群最多可以使用两个 Classic Load Balancers 用于应用程序路由器,最多可有两个网络负载平衡器用于 API。

如需更多信息,请参阅 AWS 的 ELB 文档

11.1.4.4. S3 存储

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

注意

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

11.1.4.5. VPC

根据以下要求配置 VPC:

  • 子网 :每个集群都需要每个可用区最少有一个私有子网。例如,单区集群需要 1 个专用子网,并且具有 3 个可用区的集群需要 3 个专用子网。

    如果您的集群需要直接访问集群外部的网络,包括公共互联网,则需要至少一个公共子网。

    红帽强烈建议为每个集群使用不同的子网。不建议在多个集群间共享子网。

    注意

    公共子网 通过互联网网关直接连接到互联网。

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

  • 路由表 :每个专用子网一个路由表,每个集群有一个额外的表。
  • Internet 网关 :每个集群一个互联网网关。
  • NAT 网关 :每个公共子网一个 NAT 网关。

图 11.1. VPC 架构示例

11.1.4.6. 安全组

AWS 安全组在协议和端口访问级别提供安全性;它们与 EC2 实例和 Elastic Load Balancing (ELB)负载均衡器关联。每个安全组包含一组规则,这些规则过滤进出一个或多个 EC2 实例的流量。

确保在网络上打开集群安装和操作所需的端口,并配置为允许主机间的访问。默认安全组的要求列在默认安全组 的必要端口中。

Expand
表 11.1. 默认安全组所需的端口
类型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

11.1.4.6.1. 其他自定义安全组

当使用现有非管理的 VPC 创建集群时,您可以在集群安装过程中添加额外的自定义安全组。自定义安全组受以下限制:

  • 在创建集群时,您必须在 AWS 中创建自定义安全组。如需更多信息,请参阅 适用于 Linux 实例的 Amazon EC2 安全组
  • 您必须将自定义安全组与集群要安装的 VPC 关联。您的自定义安全组不能与另一个 VPC 关联。
  • 如果要添加额外的自定义安全组,您可能需要为 VPC 请求额外的配额。有关 ROSA 的 AWS 配额要求的详情,请参考 准备环境 中的 所需的 AWS 服务配额。有关请求 AWS 配额增加的详情,请参阅 请求配额增加

11.1.5. 网络先决条件

11.1.5.1. 最小带宽

在集群部署期间,ROSA (经典)需要集群基础架构和提供部署工件和资源的公共互联网或专用网络位置的最小带宽 120 Mbps。当网络连接比 120 Mbps 慢时(例如,当通过代理进行连接时)集群安装过程会超时,部署会失败。

集群部署后,网络要求由您的工作负载决定。但是,最小带宽 120 Mbps 有助于确保及时地升级集群和操作程序。

重要

只有使用 PrivateLink 部署的 ROSA 集群才能使用防火墙来控制出口流量。

前提条件

  • 您已在 AWS Virtual Private Cloud (VPC)中配置了 Amazon S3 网关端点。需要此端点才能完成从集群到 Amazon S3 服务的请求。

流程

  1. 允许列出用于安装和下载软件包和工具的以下 URL:

    Expand
    端口功能

    registry.redhat.io

    443

    提供核心容器镜像。

    quay.io

    443

    提供核心容器镜像。

    cdn01.quay.io

    443

    提供核心容器镜像。

    cdn02.quay.io

    443

    提供核心容器镜像。

    cdn03.quay.io

    443

    提供核心容器镜像。

    cdn04.quay.io

    443

    提供核心容器镜像。

    cdn05.quay.io

    443

    提供核心容器镜像。

    cdn06.quay.io

    443

    提供核心容器镜像。

    sso.redhat.com

    443

    必需。https://console.redhat.com/openshift 站点使用来自 sso.redhat.com 的身份验证下载 pull secret,并使用 Red Hat SaaS 解决方案来简化订阅、集群清单、计费报告等的监控。

    quay-registry.s3.amazonaws.com

    443

    提供核心容器镜像。

    quayio-production-s3.s3.amazonaws.com

    443

    提供核心容器镜像。

    registry.access.redhat.com

    443

    托管存储在 Red Hat Ecosytem Catalog 中的所有容器镜像。另外,registry 提供了对 odo CLI 工具的访问,可帮助开发人员在 OpenShift 和 Kubernetes 上进行构建。

    access.redhat.com

    443

    必需。托管容器客户端在从 registry.access.redhat.com 中拉取镜像时验证镜像所需的签名存储。

    registry.connect.redhat.com

    443

    所有第三方镜像和认证 Operator 都需要。

    console.redhat.com

    443

    必需。允许集群和 OpenShift Console Manager 之间的交互以启用功能,如调度升级。

    sso.redhat.com

    443

    https://console.redhat.com/openshift 站点使用来自 sso.redhat.com的身份验证

    pull.q1w2.quay.rhcloud.com

    443

    当 quay.io 不可用时,提供核心容器镜像作为回退。

    catalog.redhat.com

    443

    registry.access.redhat.comhttps://registry.redhat.io 站点通过 catalog.redhat.com 重定向。

    oidc.op1.openshiftapps.com

    443

    ROSA 用于带有管理的 OIDC 配置的 STS 实现。

  2. 将以下遥测 URL 列入允许列表:

    Expand
    端口功能

    cert-api.access.redhat.com

    443

    遥测是必需的。

    api.access.redhat.com

    443

    遥测是必需的。

    infogw.api.openshift.com

    443

    遥测是必需的。

    console.redhat.com

    443

    遥测和 Red Hat Insights 需要。

    observatorium-mst.api.openshift.com

    443

    受管 OpenShift 遥测需要。

    observatorium.api.openshift.com

    443

    受管 OpenShift 遥测需要。

    受管集群需要启用遥测功能,以便红帽可以更快地对问题做出反应,更好地支持客户,并更好地了解产品升级对集群的影响。有关红帽如何使用远程健康监控数据的更多信息,请参阅附加资源部分 关于远程健康监控 的信息。

  3. 允许以下 Amazon Web Services (AWS) API URls:

    Expand
    端口功能

    .amazonaws.com

    443

    需要此项以访问 AWS 服务和资源。

    或者,如果您选择不为 Amazon Web Services (AWS) API 使用通配符,则必须允许列出以下 URL:

    Expand
    端口功能

    ec2.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    events.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    iam.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    route53.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    sts.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群,用于配置为使用 AWS STS 的全局端点。

    sts.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群,用于配置为使用 AWS STS 的区域端点的集群。如需更多信息,请参阅 AWS STS 区域端点

    tagging.us-east-1.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。此端点始终为 us-east-1,无论集群要部署到的区域。

    ec2.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    elasticloadbalancing.<aws_region>.amazonaws.com

    443

    用于在 AWS 环境中安装和管理集群。

    tagging.<aws_region>.amazonaws.com

    443

    允许以标签的形式分配 AWS 资源的元数据。

  4. 将以下 OpenShift URL 列入允许列表:

    Expand
    端口功能

    mirror.openshift.com

    443

    用于访问镜像安装内容和镜像。此站点也是发行版本镜像签名的来源。

    api.openshift.com

    443

    用于检查集群是否有可用的更新。

  5. 将以下站点可靠性工程(SRE)和管理 URL 列入允许:

    Expand
    端口功能

    api.pagerduty.com

    443

    此警报服务由 in-cluster alertmanager 用来发送通知 Red Hat SRE 的事件来执行操作的警报。

    events.pagerduty.com

    443

    此警报服务由 in-cluster alertmanager 用来发送通知 Red Hat SRE 的事件来执行操作的警报。

    api.deadmanssnitch.com

    443

    Red Hat OpenShift Service on AWS 使用的警报服务发送定期 ping 来指示集群是否可用并运行。

    nosnch.in

    443

    Red Hat OpenShift Service on AWS 使用的警报服务发送定期 ping 来指示集群是否可用并运行。

    http-inputs-osdsecuritylogs.splunkcloud.com

    443

    必需。mvapich -forwarder-operator 使用为一个日志转发端点,供 Red Hat SRE 用于基于日志的警报。

    sftp.access.redhat.com (Recommended)

    22

    must-gather-operator 使用的 SFTP 服务器上传诊断日志,以帮助排除集群中的问题。

11.1.6. 后续步骤

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat