×

AWS上的Red Hat OpenShift服务(ROSA)提供了一种模型,允许Red Hat将集群部署到客户现有的Amazon Web Service (AWS)账户中。

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

AWS安全令牌服务(STS)是安装和与AWS上的Red Hat OpenShift服务(ROSA)集群交互的推荐凭据模式,因为它提供了增强的安全性。

客户需求

在部署AWS上的Red Hat OpenShift服务(ROSA)集群之前,必须满足几个先决条件。

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

账户

  • 客户确保AWS限制足以支持在客户的AWS账户中预配的AWS上的Red Hat OpenShift服务。

  • 客户的AWS账户应在其AWS组织中,并应用相应的服务控制策略(SCP)。

    客户的账户不必位于AWS组织中,也不必应用SCP,但是Red Hat必须能够不受限制地执行SCP中列出的所有操作。

  • 客户的AWS账户不能转移给Red Hat。

  • 客户不得对Red Hat活动施加AWS使用限制。施加限制将严重阻碍Red Hat响应事件的能力。

  • 客户可以在同一个AWS账户中部署原生AWS服务。

    鼓励客户(但不是强制要求)在与托管AWS上的Red Hat OpenShift服务和其他Red Hat支持服务的VPC分开的虚拟私有云(VPC)中部署资源。

访问要求

  • 为了适当地管理AWS上的Red Hat OpenShift服务,Red Hat必须始终对管理员角色应用AdministratorAccess策略。如果您使用AWS安全令牌服务(STS),则此要求**不适用**。

    此策略仅为Red Hat提供在客户提供的AWS账户中更改资源的权限和功能。

  • Red Hat必须具有对客户提供的AWS账户的AWS控制台访问权限。此访问权限由Red Hat保护和管理。

  • 客户不得利用AWS账户来提升其在AWS上的Red Hat OpenShift服务集群中的权限。

  • 在AWS上的Red Hat OpenShift服务(ROSA)CLI、rosaOpenShift集群管理器控制台中可用的操作不得直接在客户的AWS账户中执行。

支持要求

  • Red Hat建议客户至少拥有来自AWS的商业支持

  • Red Hat有权代表客户请求AWS支持。

  • Red Hat有权代表客户请求客户账户的AWS资源限制增加。

  • Red Hat以相同的方式管理所有AWS上的Red Hat OpenShift服务集群的限制、局限性、期望值和默认值,除非在本需求部分另有说明。

安全要求

  • 卷快照将保留在客户的AWS账户和客户指定的区域中。

  • Red Hat必须从允许列出的IP地址访问EC2主机和API服务器。

  • Red Hat必须允许出站访问,以便将系统和审核日志转发到Red Hat管理的中央日志记录堆栈。

所需的客户流程

在部署AWS上的Red Hat OpenShift服务(ROSA)之前,请完成以下步骤。

流程
  1. 如果您作为客户正在使用AWS组织,则必须使用组织内的AWS账户或创建一个新的账户

  2. 为了确保Red Hat能够执行必要的操作,您必须创建服务控制策略(SCP)或确保没有策略应用于AWS账户。

  3. 附加SCP到AWS账户。

  4. 按照ROSA流程设置环境。

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

服务控制策略(SCP)是一种组织策略,用于管理组织内的权限。SCP确保组织内的账户保持在您定义的访问控制准则内。这些策略在AWS组织中维护,并控制附加的AWS账户中可用的服务。SCP管理是客户的责任。

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

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

服务 操作 效果

必需

Amazon EC2

全部

允许

Amazon EC2 自动扩展

全部

允许

Amazon S3

全部

允许

身份和访问管理

全部

允许

弹性负载均衡

全部

允许

弹性负载均衡 V2

全部

允许

Amazon CloudWatch

全部

允许

Amazon CloudWatch Events

全部

允许

Amazon CloudWatch Logs

全部

允许

AWS EC2 实例连接

SendSerialConsoleSSHPublicKey

允许

AWS Support

全部

允许

AWS 密钥管理服务

全部

允许

AWS 安全令牌服务

全部

允许

AWS Tiro

CreateQuery

GetQueryAnswer

GetQueryExplanation

允许

AWS Marketplace

订阅

取消订阅

查看订阅

允许

AWS 资源标签

全部

允许

AWS Route53 DNS

全部

允许

AWS 服务配额

ListServices

GetRequestedServiceQuotaChange

GetServiceQuota

RequestServiceQuotaIncrease

ListServiceQuotas

允许

可选

AWS Billing

ViewAccount

Viewbilling

ViewUsage

允许

AWS 成本和使用情况报告

全部

允许

AWS 成本分析服务

全部

允许

AWS 的 Red Hat 托管 IAM 参考

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

IAM 策略

随着 AWS 上的 Red Hat OpenShift 服务功能的变化,IAM 策略也会发生更改。

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

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

IAM 用户

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

已配置的 AWS 基础设施

这是已部署的 AWS 上 Red Hat OpenShift 服务 (ROSA) 集群上已配置的 Amazon Web Services (AWS) 组件的概述。有关所有已配置 AWS 组件的更详细列表,请参阅OpenShift Container Platform 文档

EC2 实例

AWS EC2 实例是用于在 AWS 公有云中部署 ROSA 的控制平面和数据平面功能所必需的。

控制平面和基础设施节点的实例类型可能会有所不同,具体取决于工作节点的数量。至少会部署以下 EC2 实例:

  • 三个m5.2xlarge控制平面节点

  • 两个r5.xlarge基础设施节点

  • 两个m5.xlarge可自定义的工作节点

有关工作节点数量的更多指导,请参阅此页面“其他资源”部分中列出的“限制和可扩展性”主题中的初始规划注意事项信息。

Amazon Elastic Block Store 存储

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

每个 EC2 实例的卷要求

  • 控制平面卷

    • 大小:350GB

    • 类型:gp3

    • 每秒输入/输出操作数:1000

  • 基础设施卷

    • 大小:300GB

    • 类型:gp3

    • 每秒输入/输出操作数:900

  • 工作卷

    • 大小:300GB

    • 类型:gp3

    • 每秒输入/输出操作数:900

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

弹性负载均衡

最多两个用于 API 的网络负载均衡器和最多两个用于应用程序路由器的经典负载均衡器。有关更多信息,请参阅AWS 的 ELB 文档

S3 存储

镜像注册表由 AWS S3 存储支持。定期执行资源修剪以优化 S3 使用率和集群性能。

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

VPC

客户应该预计每个集群一个 VPC。此外,VPC 需要以下配置:

  • 子网:对于具有单个可用区的集群,有两个子网;对于具有多个可用区的集群,有六个子网。

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

  • 路由表:每个私有子网一个路由表,每个集群额外一个表。

  • 互联网网关:每个集群一个互联网网关。

  • NAT 网关:每个公有子网一个 NAT 网关。

VPC Reference Architecture
图 1. VPC 架构示例

安全组

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

表 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

其他自定义安全组

当您使用现有的非托管 VPC 创建集群时,您可以在创建集群期间添加其他自定义安全组。自定义安全组受以下限制:

  • 您必须在创建集群之前在 AWS 中创建自定义安全组。有关更多信息,请参阅Amazon EC2 Linux 实例的安全组

  • 您必须将自定义安全组与集群将安装到的 VPC 关联。您的自定义安全组不能与其他 VPC 关联。

  • 如果您要添加其他自定义安全组,则可能需要为您的 VPC 请求额外的配额。有关 ROSA 的 AWS 配额要求的信息,请参阅准备您的环境中的所需的 AWS 服务配额。有关请求 AWS 配额增加的信息,请参阅请求配额增加

网络先决条件

最小带宽

在集群部署期间,AWS 上的 Red Hat OpenShift 服务需要在集群资源和公共互联网资源之间至少具有 120 Mbps 的带宽。如果网络连接速度低于 120 Mbps(例如,通过代理连接时),集群安装过程将超时并导致部署失败。

部署后,网络需求取决于您的工作负载。但是,至少 120 Mbps 的带宽有助于确保集群和运营商升级及时完成。

如果您使用防火墙来控制来自 AWS 上 Red Hat OpenShift 服务的出站流量,则必须配置防火墙以允许访问以下某些域名和端口组合。AWS 上的 Red Hat OpenShift 服务需要此访问权限才能提供完全托管的 OpenShift 服务。

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

先决条件
  • 您已在您的 AWS 虚拟私有云 (VPC) 中配置了 Amazon S3 网关端点。此端点是完成从集群到 Amazon S3 服务的请求所必需的。

流程
  1. 允许访问以下用于安装和下载软件包和工具的 URL

    域名 端口 功能

    registry.redhat.io

    443

    提供核心容器镜像。

    quay.io

    443

    提供核心容器镜像。

    cdn01.quay.io

    443

    提供核心容器镜像。

    cdn02.quay.io

    443

    提供核心容器镜像。

    cdn03.quay.io

    443

    提供核心容器镜像。

    sso.redhat.com

    443

    必需。https://console.redhat.com/openshift 网站使用来自 sso.redhat.com 的身份验证来下载拉取密钥并使用 Red Hat SaaS 解决方案来促进对您的订阅、集群清单、收费报告等的监控。

    quay-registry.s3.amazonaws.com

    443

    提供核心容器镜像。

    quayio-production-s3.s3.amazonaws.com

    443

    提供核心容器镜像。

    openshift.org

    443

    提供 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像。

    registry.access.redhat.com

    443

    托管存储在 Red Hat 生态系统目录中的所有容器镜像。此外,该注册表还提供对 odo CLI 工具的访问,该工具可帮助开发人员在 OpenShift 和 Kubernetes 上进行构建。

    access.redhat.com

    443

    必需。托管签名存储区,容器客户端在从 registry.access.redhat.com 拉取镜像时需要该存储区来验证镜像。

    registry.connect.redhat.com

    443

    所有第三方镜像和经过认证的 Operators 都需要。

    console.redhat.com

    443

    必需。允许集群和 OpenShift 控制台管理器之间进行交互,以启用诸如调度升级之类的功能。

    sso.redhat.com

    443

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

    pull.q1w2.quay.rhcloud.com

    443

    在 quay.io 不可访问时,提供核心容器镜像作为备用。

    .q1w2.quay.rhcloud.com

    443

    在 quay.io 不可访问时,提供核心容器镜像作为备用。

    www.okd.io

    443

    openshift.org 网站通过 www.okd.io 重定向。

    www.redhat.com

    443

    sso.redhat.com 网站通过 www.redhat.com 重定向。

    aws.amazon.com

    443

    iam.amazonaws.comsts.amazonaws.com 网站通过 aws.amazon.com 重定向。

    catalog.redhat.com

    443

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

    dvbwgdztaeq9o.cloudfront.net [1]

    443

    ROSA 使用它来实现具有托管 OIDC 配置的 STS。

    1. 如果发生主要的 cloudfront 故障需要重定向资源,则 cloudfront.net 之前的字母数字字符字符串可能会更改。

  2. 允许访问以下遥测 URL

    域名 端口 功能

    cert-api.access.redhat.com

    443

    遥测必需。

    api.access.redhat.com

    443

    遥测必需。

    infogw.api.openshift.com

    443

    遥测必需。

    console.redhat.com

    443

    遥测和 Red Hat Insights 必需。

    cloud.redhat.com/api/ingress

    443

    遥测和 Red Hat Insights 必需。

    observatorium-mst.api.openshift.com

    443

    托管的 OpenShift 特定遥测必需。

    observatorium.api.openshift.com

    443

    托管的 OpenShift 特定遥测必需。

    托管集群需要启用遥测,以允许 Red Hat 更快速地响应问题,更好地支持客户,并更好地了解产品升级对集群的影响。有关 Red Hat 如何使用远程健康监控数据的更多信息,请参阅“附加资源”部分中的《关于远程健康监控》。

  3. 允许访问以下 Amazon Web Services (AWS) API URL

    域名 端口 功能

    .amazonaws.com

    443

    访问 AWS 服务和资源必需。

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

    域名 端口 功能

    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

    域名 端口 功能

    mirror.openshift.com

    443

    用于访问镜像安装内容和镜像。此网站也是发行版镜像签名的来源,尽管集群版本运算符 (CVO) 只需要一个可用的来源。

    storage.googleapis.com/openshift-release(推荐)

    443

    mirror.openshift.com/ 的替代网站。用于下载平台发行版签名,集群使用这些签名来确定要从 quay.io 拉取哪些镜像。

    api.openshift.com

    443

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

  5. 允许访问以下站点可靠性工程 (SRE) 和管理 URL

    域名 端口 功能

    api.pagerduty.com

    443

    此警报服务由集群内警报管理器用于发送警报,通知 Red Hat SRE 需要采取行动的事件。

    events.pagerduty.com

    443

    此警报服务由集群内警报管理器用于发送警报,通知 Red Hat SRE 需要采取行动的事件。

    api.deadmanssnitch.com

    443

    AWS 上的 Red Hat OpenShift 服务使用的警报服务,用于发送定期 ping 以指示集群是否可用并正在运行。

    nosnch.in

    443

    AWS 上的 Red Hat OpenShift 服务使用的警报服务,用于发送定期 ping 以指示集群是否可用并正在运行。

    .osdsecuritylogs.splunkcloud.cominputs1.osdsecuritylogs.splunkcloud.com inputs2.osdsecuritylogs.splunkcloud.com inputs4.osdsecuritylogs.splunkcloud.com inputs5.osdsecuritylogs.splunkcloud.com inputs6.osdsecuritylogs.splunkcloud.com inputs7.osdsecuritylogs.splunkcloud.com inputs8.osdsecuritylogs.splunkcloud.com inputs9.osdsecuritylogs.splunkcloud.com inputs10.osdsecuritylogs.splunkcloud.com inputs11.osdsecuritylogs.splunkcloud.com inputs12.osdsecuritylogs.splunkcloud.com inputs13.osdsecuritylogs.splunkcloud.com inputs14.osdsecuritylogs.splunkcloud.com inputs15.osdsecuritylogs.splunkcloud.com

    9997

    splunk-forwarder-operator用作日志转发端点,供Red Hat SRE进行基于日志的告警。

    http-inputs-osdsecuritylogs.splunkcloud.com

    443

    必需。被splunk-forwarder-operator用作日志转发端点,供Red Hat SRE进行基于日志的告警。

    sftp.access.redhat.com(推荐)

    22

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

  6. 允许访问以下用于可选第三方内容的URL

    域名 端口 功能

    registry.connect.redhat.com

    443

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

    rhc4tp-prod-z8cxf-image-registry-us-east-1-evenkyleffocxqvofrk.s3.dualstack.us-east-1.amazonaws.com

    443

    提供对registry.connect.redhat.com上托管的容器镜像的访问。

    oso-rhc4tp-docker-registry.s3-us-west-2.amazonaws.com

    443

    Sonatype Nexus和F5 Big IP Operator需要。

  7. 允许访问构建所需的任何语言或框架提供的任何站点。

  8. 允许访问OpenShift使用的语言和框架所依赖的任何出站URL。请参阅OpenShift需要允许的出站URL,获取建议在防火墙或代理上允许的URL列表。