3.7.2.2. 用户定义的出站路由
在 OpenShift Container Platform 中,您可以选择自己的出站路由来连接到互联网。这可让您跳过创建公共 IP 地址和公共负载均衡器的步骤。
您可在安装集群前修改 install-config.yaml
文件中的参数来配置用户定义的路由。安装集群时,需要一个已存在的 VNet 来使用出站路由,安装程序不负责配置它。
当将集群配置为使用用户定义的路由时,安装程序不会创建以下资源:
- 用于访问互联网的出站规则。
- 公共负载均衡器的公共 IP。
- Kubernetes Service 对象,为出站请求将集群机器添加到公共负载均衡器中。
在设置用户定义的路由前,您必须确保以下项目可用:
- 出口到互联网可以拉取容器镜像,除非使用内部 registry 镜像。
- 集群可以访问 Azure API。
- 配置了各种允许列表端点。您可以在配置防火墙部分引用这些端点。
支持一些已存在的网络设置,使用用户定义的路由访问互联网。
带有网络地址转换的专用集群
您可以使用 Azure VNET 网络地址转换(NAT) 为集群中的子网提供出站互联网访问。请参阅 Azure 文档中的使用 Azure CLI 创建 NAT 网关部分。
当使用配置了 Azure NAT 和用户定义的路由的 VNet 设置时,您可以创建没有公共端点的私有集群。
使用 Azure 防火墙的私有集群
您可以使用 Azure Firewall 为用于安装集群的 VNet 提供出站路由。请参阅 Azure 文档中的Azure Firewall 提供用户定义的路由的信息。
使用 Azure Firewall 和用户自定义路由的 VNet 设置时,您可以创建没有公共端点的私有集群。
带有代理配置的私有集群
您可以使用带有用户定义的路由的代理来允许到互联网的出口。您必须确保集群 Operator 不使用代理访问 Azure API。Operator 必须有权访问代理外的 Azure API。
当使用子网的默认路由表时,Azure 会自动填充 0.0.0.0/0
,所有 Azure API 请求也会通过 Azure 的内部网络路由,即使 IP 地址是公共的。只要网络安全组规则允许出口到 Azure API 端点,您就可以在没有公共端点的情况下创建用户自定义路由的代理。
没有互联网访问的私有集群
您可以安装专用网络,以限制对互联网的所有访问,但 Azure API 除外。这可以通过在本地镜像发行版本镜像 registry 实现。集群必须有权访问以下内容:
- 可以从中拉取容器镜像的内部 registry 镜像
- 访问 Azure API
在满足这些要求时,就可以使用用户定义的路由来创建没有公共端点的私有集群。