2.3. 创建集群的 Red Hat OpenShift Service on AWS 的先决条件


在 AWS 集群上创建 Red Hat OpenShift Service 需要配置的虚拟私有云(VPC)、集群范围的角色、OIDC 配置和 Operator 角色。

您必须具有 Virtual Private Cloud (VPC)才能在 AWS 集群上创建 Red Hat OpenShift Service。

您可以使用以下方法之一创建 VPC:

  • 使用 ROSA CLI 创建 VPC
  • 使用 Terraform 模板创建 VPC
  • 在 AWS 控制台中手动创建 VPC 资源
注意

Terraform 指令用于测试和演示目的。您自己的安装需要对 VPC 的一些修改才能自行使用。您还应确保使用此 Terraform 配置时,它位于您要安装集群的同一区域。在这些示例中,使用了 us-east-2

2.3.1.1. 使用 ROSA CLI 创建 AWS VPC

rosa create network 命令在 ROSA CLI 的 v.1.2.48 或更高版本中提供。命令使用 AWS CloudFormation 创建 VPC 以及在 AWS 集群上安装 Red Hat OpenShift Service 所需的相关网络组件。CloudFormation 是一个原生 AWS 基础架构即代码工具,与 AWS CLI 兼容。

如果没有指定模板,CloudFormation 将使用以下参数来创建资源的默认模板:

Expand
表 2.2. 默认 VPC 参数
VPC 参数value

可用区

1

区域

us-east-1

VPC CIDR

10.0.0.0/16

您可以创建和自定义 CloudFormation 模板,以用于 rosa create network 命令。如需有关默认 VPC 模板的信息,请参阅本节的其他资源。

先决条件

  • 您已配置了 AWS 帐户
  • 您已配置了您的红帽帐户
  • 已安装 ROSA CLI 并将其配置为最新版本

流程

  1. 运行以下命令,使用默认的 CloudFormations 模板创建 AWS VPC:

    $ rosa create network
  2. 可选:通过指定附加参数来自定义 VPC。

    您可以使用- -param 标志指定对默认 VPC 模板的更改。以下示例命令为 regionNameAvailabilityZoneCountVpcCidr 指定自定义值。

    $ rosa create network --param Region=us-east-2 --param Name=quickstart-stack --param AvailabilityZoneCount=3 --param VpcCidr=10.0.0.0/16

    该命令需要大约 5 分钟来运行,并在创建资源时从 AWS 提供常规状态更新。如果 CloudFormation 存在问题,则会尝试回滚。对于遇到的所有其他错误,请按照错误消息说明或联系 AWS 支持。

验证

  • 完成后,您会收到创建的资源概述:

    INFO[0140] Resources created in stack:
    INFO[0140] Resource: AttachGateway, Type: AWS::EC2::VPCGatewayAttachment, ID: <gateway_id>
    INFO[0140] Resource: EC2VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: EcrApiVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: EcrDkrVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: ElasticIP1, Type: AWS::EC2::EIP, ID: <IP>
    INFO[0140] Resource: ElasticIP2, Type: AWS::EC2::EIP, ID: <IP>
    INFO[0140] Resource: InternetGateway, Type: AWS::EC2::InternetGateway, ID: igw-016e1a71b9812464e
    INFO[0140] Resource: KMSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: NATGateway1, Type: AWS::EC2::NatGateway, ID: <nat-gateway_id>
    INFO[0140] Resource: PrivateRoute, Type: AWS::EC2::Route, ID: <route_id>
    INFO[0140] Resource: PrivateRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id>
    INFO[0140] Resource: PrivateSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id>
    INFO[0140] Resource: PublicRoute, Type: AWS::EC2::Route, ID: <route_id>
    INFO[0140] Resource: PublicRouteTable, Type: AWS::EC2::RouteTable, ID: <route_id>
    INFO[0140] Resource: PublicSubnetRouteTableAssociation1, Type: AWS::EC2::SubnetRouteTableAssociation, ID: <route_id>
    INFO[0140] Resource: S3VPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: STSVPCEndpoint, Type: AWS::EC2::VPCEndpoint, ID: <vpce_id>
    INFO[0140] Resource: SecurityGroup, Type: AWS::EC2::SecurityGroup, ID: <security-group_id>
    INFO[0140] Resource: SubnetPrivate1, Type: AWS::EC2::Subnet, ID: <private_subnet_id-1>
    INFO[0140] Resource: SubnetPublic1, Type: AWS::EC2::Subnet, ID: <public_subnet_id-1>
    INFO[0140] Resource: VPC, Type: AWS::EC2::VPC, ID: <vpc_id>
    INFO[0140] Stack rosa-network-stack-5555 created
    • & lt;private_subnet_id -1& gt; 和 <public_subnet_id -1> 子网 ID 用于在使用 rosa create cluster 命令时创建集群。
    • 网络堆栈名称(rosa-network-stack-5555)用于稍后删除资源。

2.3.1.2. 使用 Terraform 创建虚拟私有云

Terraform 是一个工具,可让您使用已建立的模板创建各种资源。您可以将 Terraform 与默认选项一起使用,为 Red Hat OpenShift Service on AWS 集群创建 Virtual Private Cloud。

先决条件

  • 您已在机器上安装 Terraform 版本 1.4.0 或更新版本。
  • 您已在机器上安装了 Git。

流程

  1. 运行以下命令,打开 shell 提示符并克隆 Terraform VPC 存储库:

    $ git clone https://github.com/openshift-cs/terraform-vpc-example
  2. 运行以下命令来进入创建的目录:

    $ cd terraform-vpc-example
  3. 运行以下命令来启动 Terraform 文件:

    $ terraform init

    在此过程完成后会显示确认初始化的消息。

  4. 要根据现有的 Terraform 模板构建 VPC Terraform 计划,请运行 plan 命令。您必须包含 AWS 区域。您可以选择指定集群名称。在 terraform plan 完成后,一个 rosa.tfplan 文件会被添加到 hypershift-tf 目录。有关更详细的选项,请参阅 Terraform VPC 存储库的 README 文件

    $ terraform plan -out rosa.tfplan -var region=<region>
  5. 运行以下命令应用此计划文件来构建 VPC:

    $ terraform apply rosa.tfplan
    1. 可选:将 Terraform-provisioned private、public 和 machinepool 子网 ID 作为在 AWS 集群上创建 Red Hat OpenShift Service 时使用的环境变量进行捕获:

      $ export SUBNET_IDS=$(terraform output -raw cluster-subnets-string)
    2. 使用以下命令验证变量是否已正确设置:

      $ echo $SUBNET_IDS

      输出示例

      $ subnet-0a6a57e0f784171aa,subnet-078e84e5b10ecf5b0

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部