VPC
本文档介绍如何使用 AWS PrivateLink 创建 ROSA 集群。
可以在不依赖公共子网、互联网网关或网络地址转换 (NAT) 网关的情况下创建 AWS 上的 Red Hat OpenShift 服务集群。在此配置中,Red Hat 使用 AWS PrivateLink 来管理和监控集群,以避免所有公共入口网络流量。如果没有公共子网,则无法配置公共应用程序路由器。配置私有应用程序路由器是唯一的选择。
更多信息,请参见 AWS 网站上的 AWS PrivateLink。
您只能在安装时创建 PrivateLink 集群。安装后无法将集群更改为 PrivateLink。 |
对于 AWS PrivateLink 集群,不需要互联网网关、NAT 网关和公共子网,但私有子网必须具有互联网连接才能安装所需的组件。单 AZ 集群至少需要一个私有子网,多 AZ 集群至少需要 3 个私有子网。下表显示了成功安装所需的 AWS 资源
组件 | AWS 类型 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VPC |
|
您必须提供 VPC 供集群使用。 |
||||||||||||
网络访问控制 |
|
您必须允许访问以下端口
|
||||||||||||
私有子网 |
|
您的 VPC 必须在 1 个可用区中拥有私有子网(用于单 AZ 部署)或在 3 个可用区中拥有私有子网(用于多 AZ 部署)。您必须提供合适的路由和路由表。 |
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI,即 `rosa`,创建 AWS PrivateLink 集群。
AWS PrivateLink 仅支持现有 VPC。 |
您有可用的 AWS 服务配额。
您已在 AWS 控制台中启用 ROSA 服务。
您已在安装主机上安装并配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI,即 `rosa`。
创建集群最多可能需要 40 分钟。
使用 AWS PrivateLink,您可以创建一个单可用区 (Single-AZ) 或多可用区 (Multi-AZ) 集群。在这两种情况下,您的机器的无类别域间路由 (CIDR) 必须与您的虚拟私有云的 CIDR 匹配。有关更多信息,请参见 使用您自己的 VPC 的要求 和 VPC 验证。
如果您使用防火墙,则必须对其进行配置,以便 AWS 上的 Red Hat OpenShift 服务可以访问其正常运行所需的站点。 有关更多信息,请参见 AWS PrivateLink 防火墙先决条件部分。 |
如果您的集群名称超过 15 个字符,它将包含一个自动生成的域前缀作为您在 `*.openshiftapps.com` 上预配的集群的子域。 要自定义子域,请使用 `--domain-prefix` 标志。域前缀不能超过 15 个字符,必须唯一,并且在集群创建后不能更改。 |
创建单 AZ 集群
$ rosa create cluster --private-link --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id>
创建多 AZ 集群
$ rosa create cluster --private-link --multi-az --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>,<private-subnet-id2>,<private-subnet-id3>
输入以下命令以检查集群的状态。在集群创建过程中,输出中的 `State` 字段将从 `pending` 变为 `installing`,最终变为 `ready`。
$ rosa describe cluster --cluster=<cluster_name>
如果安装失败或 40 分钟后 `State` 字段未更改为 `ready`,请检查安装故障排除文档以获取更多详细信息。 |
输入以下命令以跟踪 OpenShift 安装程序日志,从而跟踪集群的进度
$ rosa logs install --cluster=<cluster_name> --watch
使用 AWS PrivateLink 集群时,将在 Route 53 中创建一个公共托管区域和一个私有托管区域。使用私有托管区域时,区域内的记录只能从分配给它的 VPC 内部解析。
*Let’s Encrypt DNS-01* 验证需要一个公共区域,以便可以为该域颁发有效的、公开信任的证书。 *Let’s Encrypt* 验证完成后,验证记录将被删除;但是,仍然需要该区域来颁发和续订这些证书,这些证书通常每 60 天需要一次。虽然这些区域通常看起来是空的,但它在验证过程中发挥着关键作用。
有关私有托管区域的更多信息,请参见 AWS 私有托管区域文档。有关公共托管区域的更多信息,请参见 AWS 公共托管区域文档。
您的公司网络或其他 VPC 具有连接性
UDP 端口 53 和 TCP 端口 53 在您的网络之间启用,以允许 DNS 查询
您已使用 Red Hat OpenShift Service on AWS 创建了 AWS PrivateLink 集群
要允许解析 VPC 外部的记录(例如 `api.<cluster_domain>` 和 `*.apps.<cluster_domain>`),请配置 Route 53 Resolver 入站端点。
配置入站端点时,请选择创建集群时使用的 VPC 和私有子网。
端点运行并关联后,请将公司网络配置为将顶级集群域(例如drow-pl-01.htno.p1.openshiftapps.com
)的DNS查询转发到这些IP地址。
如果要将DNS查询从一个VPC转发到另一个VPC,请配置转发规则。
如果要配置远程网络DNS服务器,请参阅您的特定DNS服务器文档,以配置已安装集群域的选择性DNS转发。