2.2. 配置 AWS VPC 对等
这个示例过程配置一个 Amazon Web Services (AWS) VPC,其中包含一个 Red Hat OpenShift Service on AWS 集群作为另外一个 AWS VPC 网络的对等(peer)。有关创建 AWS VPC 交换连接或其它可能配置的更多信息,请参阅 AWS VPC Peering 指南。
2.2.1. VPC 对等术语
当在两个独立 AWS 帐户中的两个 VPC 之间设置 VPC 对等连接时,会使用以下术语:
Red Hat OpenShift Service on AWS AWS 账户 | 包括 Red Hat OpenShift Service on AWS 集群的 AWS 账户。 |
Red Hat OpenShift Service on AWS Cluster VPC | 包括 Red Hat OpenShift Service on AWS 集群的 VPC。 |
客户 AWS 帐户 | 您要进行对等的非 Red Hat OpenShift Service on AWS AWS 账户。 |
客户 VPC | 您要进行对等的 AWS 帐户中的 VPC。 |
客户 VPC 区域 | 客户 VPC 所在的区域。 |
从 2018 年 7 月起,AWS 支持在所有商业区域 (不包括中国) 之间的 inter-region VPC。
2.2.2. 启动 VPC 对等请求
您可以将来自 Red Hat OpenShift Service on AWS 帐户的 VPC 对等连接请求发送到客户 AWS 帐户。
前提条件
收集启动对等请求所需的客户 VPC 的以下信息:
- 客户 AWS 帐号
- 客户 VPC ID
- 客户 VPC 区域
- 客户 VPC CIDR
- 检查 Red Hat OpenShift Service on AWS Cluster VPC 使用的 CIDR 块。如果与客户 VPC 的 CIDR 块重叠或匹配,则无法在这两个 VPC 之间对等。有关详细信息,请参阅 Amazon VPC 不支持的 VPC 仪表板配置文档。如果 CIDR 块没有重叠,您可以继续执行这个过程。
流程
- 登录到 Red Hat OpenShift Service on AWS AWS 帐户的 Web 控制台,在托管集群的区域进入 VPC 仪表板。
- 进入 Peering Connections 页面,点 Create Peering Connection 按钮。
验证您登录到的帐户的详情,以及您要连接的帐户和 VPC 的详情:
- 对等连接名称标签 :为 VPC Peering Connection 设置一个描述性名称。
- VPC (Requester) :从 *list 下拉列表中选择 Red Hat OpenShift Service on AWS Cluster VPC ID。
- 帐户 :选择 另一个帐户 并提供客户 AWS 帐户号 *(不带横线)。
- 区域 :如果客户 VPC 区域与当前区域不同,请选择 Another Region,然后从下拉列表中选择客户 VPC 区域。
- VPC (Accepter) :设置客户 VPC ID。
- 点 Create Peering Connection。
- 确认请求变为 Pending 状态。如果它变为 Failed 状态,请确认详情并重复此过程。
2.2.3. 接受 VPC 对等请求
创建 VPC 对等连接后,您必须接受客户 AWS 帐户中的请求。
前提条件
- 启动 VPC 对等请求。
流程
- 登录到 AWS Web 控制台。
- 进入 VPC Service。
- 进入 Peering Connections。
- 点 Pending peering connection。
- 确认请求来自于的 AWS 帐户和 VPC ID。这应该来自 Red Hat OpenShift Service on AWS AWS 帐户和 Red Hat OpenShift Service on AWS 集群 VPC。
- 点 Accept Request。
2.2.4. 配置路由表
接受 VPC 对等请求后,两个 VPC 必须将其路由配置为在对等连接间进行通信。
前提条件
- 启动并接受 VPC 对等请求。
流程
- 登录到 Red Hat OpenShift Service on AWS AWS 帐户的 AWS Web 控制台。
- 进入 VPC Service,然后使用 Route Tables。
为 Red Hat OpenShift Service on AWS Cluster VPC 选择路由表。
注意在一些集群中,特定 VPC 可能有多个路由表。选择具有多个显式关联子网的私有子网。
- 选择 Routes 标签页,然后选择 Edit。
- 在 Destination 文本框中输入 Customer VPC CIDR 块。
- 在 Target 文本框中输入 Peering Connection ID。
- 点 Save。
您必须使用其他 VPC 的 CIDR 块完成相同的进程:
-
登录到 Customer AWS Web Console
VPC Service Route Tables。 - 选择 VPC 的路由表。
- 选择 Routes 标签页,然后选择 Edit。
- 在 Destination 文本框中输入 Red Hat OpenShift Service on AWS Cluster VPC CIDR 块。
- 在 Target 文本框中输入 Peering Connection ID。
- 点 Save。
-
登录到 Customer AWS Web Console
VPC peering 连接现已完成。按照验证过程,确保对等连接间的连接正常工作。
2.2.5. 验证 VPC 对等的故障排除
设置 VPC 对等连接后,最好确认它已经配置且正常工作。
前提条件
- 启动并接受 VPC 对等请求。
- 配置路由表。
流程
在 AWS 控制台中,查看对等集群 VPC 的路由表。确保配置了路由表的步骤,并且有一个路由表条目,将 VPC CIDR 范围目的地指向对等连接目标。
如果路由在 AWS Cluster VPC 上的 Red Hat OpenShift Service 路由表和客户 VPC 路由表上都正确,则应该使用
netcat
方法测试连接。如果测试调用成功,则 VPC 对等可以正常工作。要测试到端点设备的网络连接,
nc
(或netcat
)是一个有用的故障排除工具。它包含在默认镜像中,如果可以建立连接,提供快速和清晰的输出:使用
busybox
镜像创建一个临时 pod,它会自行清理:$ oc run netcat-test \ --image=busybox -i -t \ --restart=Never --rm \ -- /bin/sh
使用
nc
检查连接。成功连接结果示例:
/ nc -zvv 192.168.1.1 8080 10.181.3.180 (10.181.3.180:8080) open sent 0, rcvd 0
连接结果示例:
/ nc -zvv 192.168.1.2 8080 nc: 10.181.3.180 (10.181.3.180:8081): Connection refused sent 0, rcvd 0
退出容器,该容器自动删除 Pod:
/ exit