×

当您将Red Hat OpenShift Service on AWS (ROSA)集群部署到现有的虚拟私有云(VPC)中,或使用对集群来说新的子网创建额外的机器池时,网络验证检查会自动运行。这些检查会验证您的网络配置并突出显示错误,使您能够在部署之前解决配置问题。

您也可以手动运行网络验证检查以验证现有集群的配置。

了解ROSA集群的网络验证

当您将Red Hat OpenShift Service on AWS (ROSA)集群部署到现有的虚拟私有云(VPC)中,或使用对集群来说新的子网创建额外的机器池时,网络验证会自动运行。这有助于您在部署之前识别和解决配置问题。

当您使用Red Hat OpenShift Cluster Manager准备安装集群时,在您在**虚拟私有云(VPC)子网设置**页面上的子网ID字段中输入子网后,自动检查就会运行。如果您使用ROSA CLI (rosa)的交互模式创建集群,则检查会在您提供所需的VPC网络信息后运行。如果您在不使用交互模式的情况下使用CLI,则检查会在集群创建之前立即开始。

当您添加一个对集群来说新的子网的机器池时,自动网络验证会检查该子网以确保在配置机器池之前网络连接可用。

自动网络验证完成后,一条记录将发送到服务日志。该记录提供了验证检查的结果,包括任何网络配置错误。您可以在部署之前解决已识别的这些问题,从而提高部署成功的几率。

您也可以手动为现有集群运行网络验证。这使您能够在进行配置更改后验证集群的网络配置。有关手动运行网络验证检查的步骤,请参阅手动运行网络验证

网络验证检查的范围

网络验证包括对以下每个要求的检查:

  • 父虚拟私有云(VPC)存在。

  • 所有指定的子网都属于该VPC。

  • VPC已启用enableDnsSupport

  • VPC已启用enableDnsHostnames

  • 可以访问AWS防火墙先决条件部分中指定的所需域名和端口组合。

自动网络验证绕过

如果您想将具有已知网络配置问题的Red Hat OpenShift Service on AWS (ROSA)集群部署到现有的虚拟私有云(VPC)中,则可以绕过自动网络验证。

如果您在创建集群时绕过网络验证,则集群将具有有限的支持状态。安装后,您可以解决这些问题,然后手动运行网络验证。验证成功后,有限的支持状态将被移除。

使用OpenShift Cluster Manager绕过自动网络验证

当您使用Red Hat OpenShift Cluster Manager将集群安装到现有VPC中时,您可以通过在**虚拟私有云(VPC)子网设置**页面上选择**绕过网络验证**来绕过自动验证。

手动运行网络验证

安装Red Hat OpenShift Service on AWS (ROSA)集群后,您可以使用Red Hat OpenShift Cluster Manager或ROSA CLI (rosa)手动运行网络验证检查。

使用OpenShift Cluster Manager手动运行网络验证

您可以使用Red Hat OpenShift Cluster Manager手动运行现有Red Hat OpenShift Service on AWS (ROSA)集群的网络验证检查。

先决条件
  • 您拥有一个现有的ROSA集群。

  • 您是集群所有者,或者您具有集群编辑器角色。

步骤
  1. 导航到OpenShift Cluster Manager并选择您的集群。

  2. 从**操作**下拉菜单中选择**验证网络**。

使用CLI手动运行网络验证

您可以使用ROSA CLI (rosa)手动运行现有Red Hat OpenShift Service on AWS (ROSA)集群的网络验证检查。

运行网络验证时,您可以指定一组VPC子网ID或集群名称。

先决条件
  • 您已在安装主机上安装并配置了最新的ROSA CLI (rosa)。

  • 您拥有一个现有的ROSA集群。

  • 您是集群所有者,或者您具有集群编辑器角色。

步骤
  • 使用以下方法之一验证网络配置:

    • 通过指定集群名称来验证网络配置。子网ID会自动检测。

      $ rosa verify network --cluster <cluster_name> (1)
      1 <cluster_name>替换为您的集群名称。
      示例输出
      I: Verifying the following subnet IDs are configured correctly: [subnet-03146b9b52b6024cb subnet-03146b9b52b2034cc]
      I: subnet-03146b9b52b6024cb: pending
      I: subnet-03146b9b52b2034cc: passed
      I: Run the following command to wait for verification to all subnets to complete:
      rosa verify network --watch --status-only --region us-east-1 --subnet-ids subnet-03146b9b52b6024cb,subnet-03146b9b52b2034cc
      • 确保已完成对所有子网的验证。

        $ rosa verify network --watch \ (1)
                              --status-only \ (2)
                              --region <region_name> \ (3)
                              --subnet-ids subnet-03146b9b52b6024cb,subnet-03146b9b52b2034cc (4)
        
        1 watch标志导致命令在所有正在测试的子网处于失败或通过状态后完成。
        2 status-only标志不会触发网络验证的运行,而是返回当前状态,例如subnet-123 (verification still in-progress)。默认情况下,如果没有此选项,对该命令的调用始终会触发对指定子网的验证。
        3 使用覆盖AWS_REGION环境变量的特定AWS区域。
        4 输入以逗号分隔的子网ID列表进行验证。如果任何子网不存在,则会显示错误消息Network verification for subnet 'subnet-<subnet_number> not found,并且不会检查任何子网。
        示例输出
        I: Checking the status of the following subnet IDs: [subnet-03146b9b52b6024cb subnet-03146b9b52b2034cc]
        I: subnet-03146b9b52b6024cb: passed
        I: subnet-03146b9b52b2034cc: passed

        要输出完整的验证测试列表,您可以在运行rosa verify network命令时包含--debug参数。

    • 通过指定VPC子网ID来验证网络配置。将<region_name>替换为您的AWS区域,并将<AWS_account_ID>替换为您的AWS账户ID。

      $ rosa verify network --subnet-ids 03146b9b52b6024cb,subnet-03146b9b52b2034cc --region <region_name> --role-arn arn:aws:iam::<AWS_account_ID>:role/my-Installer-Role
      示例输出
      I: Verifying the following subnet IDs are configured correctly: [subnet-03146b9b52b6024cb subnet-03146b9b52b2034cc]
      I: subnet-03146b9b52b6024cb: pending
      I: subnet-03146b9b52b2034cc: passed
      I: Run the following command to wait for verification to all subnets to complete:
      rosa verify network --watch --status-only --region us-east-1 --subnet-ids subnet-03146b9b52b6024cb,subnet-03146b9b52b2034cc
      • 确保已完成对所有子网的验证。

        $ rosa verify network --watch --status-only --region us-east-1 --subnet-ids subnet-03146b9b52b6024cb,subnet-03146b9b52b2034cc
        示例输出
        I: Checking the status of the following subnet IDs: [subnet-03146b9b52b6024cb subnet-03146b9b52b2034cc]
        I: subnet-03146b9b52b6024cb: passed
        I: subnet-03146b9b52b2034cc: passed