×

在开始对您自己配置的基础设施进行安装之前,请确保您的 AWS 环境满足以下安装要求。

对于包含用户自备基础设施的集群,必须部署所有必需的机器。

集群安装所需的机器

最小的 OpenShift Container Platform 集群需要以下主机

表 1. 最低所需主机
主机 描述

一台临时引导机器

集群需要引导机器才能在三台控制平面机器上部署 OpenShift Container Platform 集群。安装集群后,可以删除引导机器。

三台控制平面机器

控制平面机器运行构成控制平面的 Kubernetes 和 OpenShift Container Platform 服务。

至少两台计算机器,也称为工作机器。

OpenShift Container Platform 用户请求的工作负载在计算机器上运行。

为保持集群的高可用性,请为这些集群机器使用单独的物理主机。

引导程序和控制平面机器必须使用 Red Hat Enterprise Linux CoreOS (RHCOS) 作为操作系统。但是,计算机器可以在 Red Hat Enterprise Linux CoreOS (RHCOS)、Red Hat Enterprise Linux (RHEL) 8.6 及更高版本之间选择。

请注意,RHCOS 基于 Red Hat Enterprise Linux (RHEL) 9.2,并继承其所有硬件认证和要求。请参阅 Red Hat Enterprise Linux 技术能力和限制

集群安装的最低资源要求

每台集群机器必须满足以下最低要求

表 2. 最低资源要求
机器 操作系统 vCPU [1] 虚拟内存 存储 每秒输入/输出 (IOPS)[2]

引导程序

RHCOS

4

16 GB

100 GB

300

控制平面

RHCOS

4

16 GB

100 GB

300

计算

RHCOS、RHEL 8.6 及更高版本 [3]

2

8 GB

100 GB

300

  1. 当未启用同时多线程 (SMT) 或超线程时,一个 vCPU 等于一个物理核心。启用时,请使用以下公式计算相应的比率:(每个核心的线程数 × 核心数) × 插槽数 = vCPU 数。

  2. OpenShift Container Platform 和 Kubernetes 对磁盘性能很敏感,建议使用更快的存储,特别是对于控制平面节点上的 etcd,它需要 10 毫秒 p99 fsync 持续时间。请注意,在许多云平台上,存储大小和 IOPS 成正比,因此您可能需要过度分配存储卷才能获得足够的性能。

  3. 与所有用户自备安装一样,如果您选择在集群中使用 RHEL 计算机器,则您将负责所有操作系统生命周期管理和维护,包括执行系统更新、应用补丁和完成所有其他必需的任务。在 OpenShift Container Platform 4.10 及更高版本中,已弃用使用 RHEL 7 计算机器,并且已将其删除。

从 OpenShift Container Platform 4.13 版本开始,RHCOS 基于 RHEL 9.2 版本,更新了微架构要求。以下列表包含每个架构所需的最低指令集架构 (ISA):

  • x86-64 架构需要 x86-64-v2 ISA

  • ARM64 架构需要 ARMv8.0-A ISA

  • IBM Power 架构需要 Power 9 ISA

  • s390x 架构需要 z14 ISA

更多信息,请参见 RHEL 架构

如果平台的实例类型满足集群机器的最低要求,则支持在 OpenShift Container Platform 中使用它。

其他资源

AWS 的测试实例类型

以下 Amazon Web Services (AWS) 实例类型已通过 OpenShift Container Platform 测试。

请为您的 AWS 实例使用以下图表中包含的机器类型。如果您使用图表中未列出的实例类型,请确保您使用的实例大小与“集群安装的最低资源要求”部分中列出的最低资源要求相匹配。

基于 64 位 x86 架构的机器类型
  • c4.*

  • c5.*

  • c5a.*

  • i3.*

  • m4.*

  • m5.*

  • m5a.*

  • m6a.*

  • m6i.*

  • r4.*

  • r5.*

  • r5a.*

  • r6i.*

  • t3.*

  • t3a.*

64 位 ARM 架构的 AWS 测试实例类型

以下 Amazon Web Services (AWS) 64 位 ARM 实例类型已通过 OpenShift Container Platform 测试。

请为您的 AWS ARM 实例使用以下图表中包含的机器类型。如果您使用图表中未列出的实例类型,请确保您使用的实例大小与“集群安装的最低资源要求”中列出的最低资源要求相匹配。

基于 64 位 ARM 架构的机器类型
  • c6g.*

  • c7g.*

  • m6g.*

  • m7g.*

  • r8g.*

证书签名请求管理

由于当您使用自己配置的基础设施时,集群对自动机器管理的访问权限有限,因此您必须提供一种机制来在安装后批准集群证书签名请求 (CSR)。kube-controller-manager 仅批准 kubelet 客户端 CSR。machine-approver 无法保证使用 kubelet 凭据请求的服务证书的有效性,因为它无法确认是正确的机器发出了请求。您必须确定并实施一种验证 kubelet 服务证书请求的有效性并批准它们的方法。

所需的 AWS 基础设施组件

要在 Amazon Web Services (AWS) 中的用户自备基础设施上安装 OpenShift Container Platform,必须手动创建机器及其支持的基础设施。

有关不同平台集成测试的更多信息,请参阅OpenShift Container Platform 4.x 已测试集成页面。

使用提供的 CloudFormation 模板,您可以创建代表以下组件的 AWS 资源堆栈

  • AWS 虚拟私有云 (VPC)

  • 网络和负载均衡组件

  • 安全组和角色

  • OpenShift Container Platform 引导节点

  • OpenShift Container Platform 控制平面节点

  • OpenShift Container Platform 计算节点

或者,您可以手动创建组件,也可以重用满足集群要求的现有基础设施。查看 CloudFormation 模板以了解有关组件如何相互关联的更多详细信息。

其他基础设施组件

  • VPC

  • DNS 条目

  • 负载均衡器(经典型或网络型)和侦听器

  • 公共和私有 Route 53 区域

  • 安全组

  • IAM 角色

  • S3 存储桶

如果您在断开连接的环境中工作,则无法访问 EC2、ELB 和 S3 端点的公共 IP 地址。根据您希望在安装过程中限制互联网流量的程度,可以使用以下配置选项

选项 1:创建 VPC 端点

创建 VPC 端点并将其附加到集群正在使用的子网。将端点命名如下:

  • ec2.<aws_region>.amazonaws.com

  • elasticloadbalancing.<aws_region>.amazonaws.com

  • s3.<aws_region>.amazonaws.com

使用此选项,网络流量将保留在您的 VPC 和所需的 AWS 服务之间。

选项 2:创建不带 VPC 端点的代理

作为安装过程的一部分,您可以配置 HTTP 或 HTTPS 代理。使用此选项,互联网流量将通过代理才能访问所需的 AWS 服务。

选项 3:创建带有 VPC 端点的代理

作为安装过程的一部分,您可以使用 VPC 端点配置 HTTP 或 HTTPS 代理。创建 VPC 端点并将其附加到集群正在使用的子网。将端点命名如下:

  • ec2.<aws_region>.amazonaws.com

  • elasticloadbalancing.<aws_region>.amazonaws.com

  • s3.<aws_region>.amazonaws.com

install-config.yaml 文件中配置代理时,请将这些端点添加到 noProxy 字段。使用此选项,代理可以阻止集群直接访问互联网。但是,网络流量将保留在您的 VPC 和所需的 AWS 服务之间。

所需的 VPC 组件

您必须提供合适的 VPC 和子网,以允许与您的机器通信。

组件 AWS 类型 描述

VPC

  • AWS::EC2::VPC

  • AWS::EC2::VPCEndpoint

您必须为集群提供一个公共 VPC。VPC 使用引用每个子网的路由表的端点,以改进与托管在 S3 中的注册表之间的通信。

公共子网

  • AWS::EC2::Subnet

  • AWS::EC2::SubnetNetworkAclAssociation

您的 VPC 必须具有 1 到 3 个可用区之间的公共子网,并将它们与相应的入站规则关联。

互联网网关

  • AWS::EC2::InternetGateway

  • AWS::EC2::VPCGatewayAttachment

  • AWS::EC2::RouteTable

  • AWS::EC2::Route

  • AWS::EC2::SubnetRouteTableAssociation

  • AWS::EC2::NatGateway

  • AWS::EC2::EIP

您必须拥有一个公共互联网网关,以及附加到 VPC 的公共路由。在提供的模板中,每个公共子网都有一个带有 EIP 地址的 NAT 网关。这些 NAT 网关允许集群资源(如私有子网实例)访问互联网,并且对于某些受限网络或代理场景而言并非必需。

网络访问控制

  • AWS::EC2::NetworkAcl

  • AWS::EC2::NetworkAclEntry

您必须允许 VPC 访问以下端口:

端口

原因

80

入站 HTTP 流量

443

入站 HTTPS 流量

22

入站 SSH 流量

1024 - 65535

入站短暂流量

0 - 65535

出站短暂流量

私有子网

  • AWS::EC2::Subnet

  • AWS::EC2::RouteTable

  • AWS::EC2::SubnetRouteTableAssociation

您的 VPC 可以具有私有子网。提供的 CloudFormation 模板可以为 1 到 3 个可用区之间创建私有子网。如果您使用私有子网,则必须为其提供适当的路由和表。

所需的 DNS 和负载均衡组件

您的 DNS 和负载均衡器配置需要使用公共托管区域,并且可以使用与安装程序使用的类似的私有托管区域,如果它配置集群的基础设施。您必须创建一个解析到负载均衡器的 DNS 条目。api.<cluster_name>.<domain> 的条目必须指向外部负载均衡器,而 api-int.<cluster_name>.<domain> 的条目必须指向内部负载均衡器。

集群还需要用于端口 6443 的负载均衡器和侦听器(Kubernetes API 及其扩展程序需要此端口)以及用于端口 22623 的负载均衡器和侦听器(新机器的 Ignition 配置文件需要此端口)。目标将是控制平面节点。端口 6443 必须可供集群外部的客户端和集群内的节点访问。端口 22623 必须可供集群内的节点访问。

组件 AWS 类型 描述

DNS

AWS::Route53::HostedZone

内部 DNS 的托管区域。

公共负载均衡器

AWS::ElasticLoadBalancingV2::LoadBalancer

公共子网的负载均衡器。

外部 API 服务器记录

AWS::Route53::RecordSetGroup

外部 API 服务器的别名记录。

外部侦听器

AWS::ElasticLoadBalancingV2::Listener

外部负载均衡器上端口 6443 的侦听器。

外部目标组

AWS::ElasticLoadBalancingV2::TargetGroup

外部负载均衡器的目标组。

私有负载均衡器

AWS::ElasticLoadBalancingV2::LoadBalancer

私有子网的负载均衡器。

内部 API 服务器记录

AWS::Route53::RecordSetGroup

内部 API 服务器的别名记录。

内部侦听器

AWS::ElasticLoadBalancingV2::Listener

内部负载均衡器上端口 22623 的侦听器。

内部目标组

AWS::ElasticLoadBalancingV2::TargetGroup

内部负载均衡器的目标组。

内部侦听器

AWS::ElasticLoadBalancingV2::Listener

内部负载均衡器上端口 6443 的侦听器。

内部目标组

AWS::ElasticLoadBalancingV2::TargetGroup

内部负载均衡器的目标组。

安全组

控制平面和工作机器需要访问以下端口:

类型 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

控制平面入口

控制平面机器需要以下入口组。每个入口组都是一个 AWS::EC2::SecurityGroupIngress 资源。

入口组 描述 IP 协议 端口范围

MasterIngressEtcd

etcd

tcp

2379- 2380

MasterIngressVxlan

Vxlan 数据包

udp

4789

MasterIngressWorkerVxlan

Vxlan 数据包

udp

4789

MasterIngressInternal

内部集群通信和 Kubernetes 代理指标

tcp

9000 - 9999

MasterIngressWorkerInternal

集群内部通信

tcp

9000 - 9999

主节点 Ingress Kube

Kubernetes kubelet、调度器和控制器管理器

tcp

10250 - 10259

主节点 Ingress Worker Kube

Kubernetes kubelet、调度器和控制器管理器

tcp

10250 - 10259

主节点 Ingress Ingress 服务

Kubernetes Ingress 服务

tcp

30000 - 32767

主节点 Ingress Worker Ingress 服务

Kubernetes Ingress 服务

tcp

30000 - 32767

主节点 Ingress Geneve

Geneve 数据包

udp

6081

主节点 Ingress Worker Geneve

Geneve 数据包

udp

6081

主节点 Ingress IPsec IKE

IPsec IKE 数据包

udp

500

主节点 Ingress Worker IPsec IKE

IPsec IKE 数据包

udp

500

主节点 Ingress IPsec NAT

IPsec NAT-T 数据包

udp

4500

主节点 Ingress Worker IPsec NAT

IPsec NAT-T 数据包

udp

4500

主节点 Ingress IPsec ESP

IPsec ESP 数据包

50

全部

主节点 Ingress Worker IPsec ESP

IPsec ESP 数据包

50

全部

主节点 Ingress 内部 UDP

集群内部通信

udp

9000 - 9999

主节点 Ingress Worker 内部 UDP

集群内部通信

udp

9000 - 9999

主节点 Ingress Ingress 服务 UDP

Kubernetes Ingress 服务

udp

30000 - 32767

主节点 Ingress Worker Ingress 服务 UDP

Kubernetes Ingress 服务

udp

30000 - 32767

Worker Ingress

工作节点需要以下 Ingress 组。每个 Ingress 组都是一个AWS::EC2::SecurityGroupIngress资源。

入口组 描述 IP 协议 端口范围

Worker Ingress VXLAN

Vxlan 数据包

udp

4789

Worker Ingress Worker VXLAN

Vxlan 数据包

udp

4789

Worker Ingress 内部

集群内部通信

tcp

9000 - 9999

Worker Ingress Worker 内部

集群内部通信

tcp

9000 - 9999

Worker Ingress Kube

Kubernetes kubelet、调度器和控制器管理器

tcp

10250

Worker Ingress Worker Kube

Kubernetes kubelet、调度器和控制器管理器

tcp

10250

Worker Ingress Ingress 服务

Kubernetes Ingress 服务

tcp

30000 - 32767

Worker Ingress Worker Ingress 服务

Kubernetes Ingress 服务

tcp

30000 - 32767

Worker Ingress Geneve

Geneve 数据包

udp

6081

Worker Ingress 主节点 Geneve

Geneve 数据包

udp

6081

Worker Ingress IPsec IKE

IPsec IKE 数据包

udp

500

Worker Ingress 主节点 IPsec IKE

IPsec IKE 数据包

udp

500

Worker Ingress IPsec NAT

IPsec NAT-T 数据包

udp

4500

Worker Ingress 主节点 IPsec NAT

IPsec NAT-T 数据包

udp

4500

Worker Ingress IPsec ESP

IPsec ESP 数据包

50

全部

Worker Ingress 主节点 IPsec ESP

IPsec ESP 数据包

50

全部

Worker Ingress 内部 UDP

集群内部通信

udp

9000 - 9999

Worker Ingress 主节点 内部 UDP

集群内部通信

udp

9000 - 9999

Worker Ingress Ingress 服务 UDP

Kubernetes Ingress 服务

udp

30000 - 32767

Worker Ingress 主节点 Ingress 服务 UDP

Kubernetes Ingress 服务

udp

30000 - 32767

角色和实例配置文件

您必须在 AWS 中授予机器权限。提供的 CloudFormation 模板授予机器对以下AWS::IAM::Role对象的Allow权限,并为每组角色提供一个AWS::IAM::InstanceProfile。如果您不使用这些模板,您可以授予机器以下广泛权限或以下单个权限。

角色 效果 操作 资源

主节点

允许

ec2:*

*

允许

elasticloadbalancing:*

*

允许

iam:PassRole

*

允许

s3:GetObject

*

工作节点

允许

ec2:Describe*

*

引导程序

允许

ec2:Describe*

*

允许

ec2:AttachVolume

*

允许

ec2:DetachVolume

*

集群机器

您需要以下机器的AWS::EC2::Instance对象

  • 一个引导机器。此机器在安装过程中需要,但在集群部署后可以将其移除。

  • 三台控制平面机器。控制平面机器不受控制平面机器集的管理。

  • 计算机器。您必须在安装过程中至少创建两台计算机器(也称为工作节点)。这些机器不受计算机器集的管理。

IAM 用户所需的 AWS 权限

您的 IAM 用户必须在 us-east-1 区域拥有tag:GetResources权限才能删除基础集群资源。作为 AWS API 要求的一部分,OpenShift Container Platform 安装程序会在该区域执行各种操作。

当您将AdministratorAccess策略附加到您在 Amazon Web Services (AWS) 中创建的 IAM 用户时,您授予该用户所有必需的权限。要部署 OpenShift Container Platform 集群的所有组件,IAM 用户需要以下权限

安装所需的 EC2 权限
  • ec2:AttachNetworkInterface

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:CopyImage

  • ec2:CreateNetworkInterface

  • ec2:CreateSecurityGroup

  • ec2:CreateTags

  • ec2:CreateVolume

  • ec2:DeleteSecurityGroup

  • ec2:DeleteSnapshot

  • ec2:DeleteTags

  • ec2:DeregisterImage

  • ec2:DescribeAccountAttributes

  • ec2:DescribeAddresses

  • ec2:DescribeAvailabilityZones

  • ec2:DescribeDhcpOptions

  • ec2:DescribeImages

  • ec2:DescribeInstanceAttribute

  • ec2:DescribeInstanceCreditSpecifications

  • ec2:DescribeInstances

  • ec2:DescribeInstanceTypes

  • ec2:DescribeInternetGateways

  • ec2:DescribeKeyPairs

  • ec2:DescribeNatGateways

  • ec2:DescribeNetworkAcls

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribePrefixLists

  • ec2:DescribePublicIpv4Pools(仅当install-config.yaml中指定publicIpv4Pool时才需要)

  • ec2:DescribeRegions

  • ec2:DescribeRouteTables

  • ec2:DescribeSecurityGroupRules

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeTags

  • ec2:DescribeVolumes

  • ec2:DescribeVpcAttribute

  • ec2:DescribeVpcClassicLink

  • ec2:DescribeVpcClassicLinkDnsSupport

  • ec2:DescribeVpcEndpoints

  • ec2:DescribeVpcs

  • ec2:DisassociateAddress(仅当install-config.yaml中指定publicIpv4Pool时才需要)

  • ec2:GetEbsDefaultKmsKeyId

  • ec2:ModifyInstanceAttribute

  • ec2:ModifyNetworkInterfaceAttribute

  • ec2:RevokeSecurityGroupEgress

  • ec2:RevokeSecurityGroupIngress

  • ec2:RunInstances

  • ec2:TerminateInstances

安装期间创建网络资源所需的权限
  • ec2:AllocateAddress

  • ec2:AssociateAddress

  • ec2:AssociateDhcpOptions

  • ec2:AssociateRouteTable

  • ec2:AttachInternetGateway

  • ec2:CreateDhcpOptions

  • ec2:CreateInternetGateway

  • ec2:CreateNatGateway

  • ec2:CreateRoute

  • ec2:CreateRouteTable

  • ec2:CreateSubnet

  • ec2:CreateVpc

  • ec2:CreateVpcEndpoint

  • ec2:ModifySubnetAttribute

  • ec2:ModifyVpcAttribute

如果您使用现有的虚拟专用云 (VPC),则您的帐户不需要这些创建网络资源的权限。

安装所需的弹性负载均衡 (ELB) 权限
  • elasticloadbalancing:AddTags

  • elasticloadbalancing:ApplySecurityGroupsToLoadBalancer

  • elasticloadbalancing:AttachLoadBalancerToSubnets

  • elasticloadbalancing:ConfigureHealthCheck

  • elasticloadbalancing:CreateListener

  • elasticloadbalancing:CreateLoadBalancer

  • elasticloadbalancing:CreateLoadBalancerListeners

  • elasticloadbalancing:CreateTargetGroup

  • elasticloadbalancing:DeleteLoadBalancer

  • elasticloadbalancing:DeregisterInstancesFromLoadBalancer

  • elasticloadbalancing:DeregisterTargets

  • elasticloadbalancing:DescribeInstanceHealth

  • elasticloadbalancing:DescribeListeners

  • elasticloadbalancing:DescribeLoadBalancerAttributes

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTags

  • elasticloadbalancing:DescribeTargetGroupAttributes

  • elasticloadbalancing:DescribeTargetHealth

  • elasticloadbalancing:ModifyLoadBalancerAttributes

  • elasticloadbalancing:ModifyTargetGroup

  • elasticloadbalancing:ModifyTargetGroupAttributes

  • elasticloadbalancing:RegisterInstancesWithLoadBalancer

  • elasticloadbalancing:RegisterTargets

  • elasticloadbalancing:SetLoadBalancerPoliciesOfListener

  • elasticloadbalancing:SetSecurityGroups

OpenShift Container Platform 使用 ELB 和 ELBv2 API 服务来配置负载均衡器。权限列表显示了两种服务所需的权限。AWS Web 控制台中存在一个已知问题,其中两种服务使用相同的elasticloadbalancing操作前缀,但不识别相同的操作。您可以忽略有关服务不识别某些elasticloadbalancing操作的警告。

安装所需的 IAM 权限
  • iam:AddRoleToInstanceProfile

  • iam:CreateInstanceProfile

  • iam:CreateRole

  • iam:DeleteInstanceProfile

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:GetInstanceProfile

  • iam:GetRole

  • iam:GetRolePolicy

  • iam:GetUser

  • iam:ListInstanceProfilesForRole

  • iam:ListRoles

  • iam:ListUsers

  • iam:PassRole

  • iam:PutRolePolicy

  • iam:RemoveRoleFromInstanceProfile

  • iam:SimulatePrincipalPolicy

  • iam:TagInstanceProfile

  • iam:TagRole

  • 如果您在install-config.yaml文件中指定现有 IAM 角色,则不需要以下 IAM 权限:iam:CreateRoleiam:DeleteRoleiam:DeleteRolePolicyiam:PutRolePolicy

  • 如果您尚未在您的 AWS 账户中创建负载均衡器,则 IAM 用户还需要iam:CreateServiceLinkedRole权限。

安装所需的 Route 53 权限
  • route53:ChangeResourceRecordSets

  • route53:ChangeTagsForResource

  • route53:CreateHostedZone

  • route53:DeleteHostedZone

  • route53:GetChange

  • route53:GetHostedZone

  • route53:ListHostedZones

  • route53:ListHostedZonesByName

  • route53:ListResourceRecordSets

  • route53:ListTagsForResource

  • route53:UpdateHostedZoneComment

安装所需的 Amazon 简单存储服务 (S3) 权限
  • s3:CreateBucket

  • s3:DeleteBucket

  • s3:GetAccelerateConfiguration

  • s3:GetBucketAcl

  • s3:GetBucketCors

  • s3:GetBucketLocation

  • s3:GetBucketLogging

  • s3:GetBucketObjectLockConfiguration

  • s3:GetBucketPolicy

  • s3:GetBucketRequestPayment

  • s3:GetBucketTagging

  • s3:GetBucketVersioning

  • s3:GetBucketWebsite

  • s3:GetEncryptionConfiguration

  • s3:GetLifecycleConfiguration

  • s3:GetReplicationConfiguration

  • s3:ListBucket

  • s3:PutBucketAcl

  • s3:PutBucketPolicy

  • s3:PutBucketTagging

  • s3:PutEncryptionConfiguration

集群操作员所需的 S3 权限
  • s3:DeleteObject

  • s3:GetObject

  • s3:GetObjectAcl

  • s3:GetObjectTagging

  • s3:GetObjectVersion

  • s3:PutObject

  • s3:PutObjectAcl

  • s3:PutObjectTagging

删除基础集群资源所需的权限
  • autoscaling:DescribeAutoScalingGroups

  • ec2:DeleteNetworkInterface

  • ec2:DeletePlacementGroup

  • ec2:DeleteVolume

  • elasticloadbalancing:DeleteTargetGroup

  • elasticloadbalancing:DescribeTargetGroups

  • iam:DeleteAccessKey

  • iam:DeleteUser

  • iam:DeleteUserPolicy

  • iam:ListAttachedRolePolicies

  • iam:ListInstanceProfiles

  • iam:ListRolePolicies

  • iam:ListUserPolicies

  • s3:DeleteObject

  • s3:ListBucketVersions

  • tag:GetResources

删除网络资源所需的权限
  • ec2:DeleteDhcpOptions

  • ec2:DeleteInternetGateway

  • ec2:DeleteNatGateway

  • ec2:DeleteRoute

  • ec2:DeleteRouteTable

  • ec2:DeleteSubnet

  • ec2:DeleteVpc

  • ec2:DeleteVpcEndpoints

  • ec2:DetachInternetGateway

  • ec2:DisassociateRouteTable

  • ec2:ReleaseAddress

  • ec2:ReplaceRouteTableAssociation

如果您使用现有的 VPC,您的账户不需要这些权限来删除网络资源。相反,您的账户只需要tag:UntagResources权限来删除网络资源。

使用自定义密钥管理服务 (KMS) 密钥安装集群的可选权限
  • kms:CreateGrant

  • kms:Decrypt

  • kms:DescribeKey

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:GenerateDataKeyWithoutPlainText

  • kms:ListGrants

  • kms:RevokeGrant

删除具有共享实例角色的集群所需的权限
  • iam:UntagRole

创建清单所需的附加 IAM 和 S3 权限
  • iam:GetUserPolicy

  • iam:ListAccessKeys

  • iam:PutUserPolicy

  • iam:TagUser

  • s3:AbortMultipartUpload

  • s3:GetBucketPublicAccessBlock

  • s3:ListBucket

  • s3:ListBucketMultipartUploads

  • s3:PutBucketPublicAccessBlock

  • s3:PutLifecycleConfiguration

如果您使用 mint 模式管理您的云提供商凭据,则 IAM 用户还需要iam:CreateAccessKeyiam:CreateUser权限。

安装实例和配额检查的可选权限
  • ec2:DescribeInstanceTypeOfferings

  • servicequotas:ListAWSDefaultServiceQuotas

在共享 VPC 上安装集群时,集群所有者帐户的可选权限
  • sts:AssumeRole

启用安装自带公共 IPv4 地址 (BYOIP) 功能所需的权限
  • ec2:DescribePublicIpv4Pools

  • ec2:DisassociateAddress

获取 AWS Marketplace 镜像

如果您正在使用 AWS Marketplace 镜像部署 OpenShift Container Platform 集群,则必须首先通过 AWS 订阅。订阅此产品将为您提供安装程序用于部署计算节点的 AMI ID。

先决条件
  • 您需要一个 AWS 账户来购买此产品。此账户不必与用于安装集群的账户相同。

步骤
  1. AWS Marketplace完成 OpenShift Container Platform 订阅。