第 5 章 为 Red Hat OpenShift Service on AWS 集群配置共享 VPC
您可以在共享、集中管理的 AWS 虚拟私有云(VPC)中创建 Red Hat OpenShift Service on AWS 集群。
不支持将新的 Red Hat OpenShift Service on AWS 集群安装到 VPC 中,它由安装程序为不同的集群自动创建。
- 此过程需要 两个属于同一 AWS 机构的独立 AWS 帐户。一个帐户作为 VPC-owning AWS 帐户(VPC Owner),另一个帐户在集群创建 AWS 帐户(Cluster Creator)中创建集群。
- 在共享 VPC 上安装集群只支持 OpenShift 4.17.9 及更新的版本。
:可在集中管理的 VPC 帐户或部署集群的工作负载帐户中创建托管区。
仅支持特定的 cluster-to-VPC 关系。不支持单个 VPC 中的多个 Red Hat OpenShift Service on AWS 集群。如需更多信息,请参阅 单个 VPC 中的多个 Red Hat OpenShift Service on AWS 集群
VPC Owner的先决条件
- 您有一个具有适当权限的 AWS 帐户,以创建角色和共享资源。
- 您从机构的管理帐户 中启用了资源共享。
- 您可以访问 AWS 控制台或 AWS 命令行界面(CLI)等 AWS 入口点。https://signin.aws.amazon.com
集群创建器的先决条件
-
已安装 ROSA CLI (
rosa
) 1.2.49 或更高版本。 - 已创建用于创建集群所需的所有 Red Hat OpenShift Service on AWS 帐户角色。
- Cluster Creator 的 AWS 帐户与 VPC Owner 的 AWS 帐户分开。
5.1. 第 1 步 - VPC 所有者:将 VPC 配置为在您的 AWS 机构中共享 复制链接链接已复制到粘贴板!
您可以在 VPC 中与 AWS 机构中另一个 AWS 帐户共享子网。
流程
- 在 AWS 控制台的 VPC 部分中 根据您的规格创建或修改 VPC。确保您已选择正确的区域。
创建
Route 53 角色
。注意您必须在计划创建 Amazon
Route 53 托管区(在第 3 步中创建的)中创建 Route 53 角色
。例如,如果要在集中管理的 VPC 帐户中创建托管区,您必须在 VPC Owner帐户中创建 Route 53 角色
。如果要在工作负载帐户中创建托管区,您必须在 Cluster Creator帐户中创建 Route 53 角色
。创建自定义信任策略文件,该文件授予假定角色的权限:
cat <<EOF > /tmp/route53-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root" }, "Action": "sts:AssumeRole" } ] } EOF
$ cat <<EOF > /tmp/route53-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root"
1 }, "Action": "sts:AssumeRole" } ] } EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 信任策略主体可以限定到 ingress Operator 角色和安装程序帐户角色,而不是
root
。
为 AWS 受管策略
ROSASharedVPCRoute53Policy
创建 IAM 角色。aws iam create-role --role-name <role_name> \ --assume-role-policy-document file:///tmp/route53-role.json
$ aws iam create-role --role-name <role_name> \
1 --assume-role-policy-document file:///tmp/route53-role.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 < role_name > 替换为您要创建的角色的名称。
附加 AWS 受管策略
ROSASharedVPCRoute53Policy
,以允许必要的共享 VPC 权限。aws iam attach-role-policy --role-name <role_name> \ --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCRoute53Policy
$ aws iam attach-role-policy --role-name <role_name> \
1 --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCRoute53Policy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <role_name > 替换为您创建的角色的名称。
创建
VPC 端点角色
。创建自定义信任策略文件,该文件授予假定角色的权限:
cat <<EOF > /tmp/shared-vpc-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root" }, "Action": "sts:AssumeRole" } ] } EOF
$ cat <<EOF > /tmp/shared-vpc-role.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Account-ID>:root"
1 }, "Action": "sts:AssumeRole" } ] } EOF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 信任策略主体可以限定到 ingress Operator 角色和安装程序帐户角色,而不是
root
。
为 AWS 受管策略
ROSASharedVPCEndpointPolicy
创建 IAM 角色:aws iam create-role --role-name <role_name> \ --assume-role-policy-document file:///tmp/vpce-role.json
$ aws iam create-role --role-name <role_name> \
1 --assume-role-policy-document file:///tmp/vpce-role.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 < role_name > 替换为您要创建的角色的名称。
附加 AWS 受管策略
ROSASharedVPCEndpointPolicy
,以允许必要的共享 VPC 权限。aws iam attach-role-policy --role-name <role_name> \ --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCEndpointPolicy
$ aws iam attach-role-policy --role-name <role_name> \
1 --policy-arn arn:aws:iam::aws:policy/ROSASharedVPCEndpointPolicy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <role_name > 替换为您创建的角色的名称。
-
为 Cluster Creator 提供
Route 53
ARN 来继续配置。角色
ARN 和 VPC 端点角色
其他资源
- 有关 共享 AWS 资源的信息,请参阅 AWS 文档。