This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.7.3. 关于为 OpenShift Container Platform 集群重复使用 VNet
在 OpenShift Container Platform 4.7 中,您可以在 Microsoft Azure 中将集群部署到现有的 Azure Virtual Network(VNet)中。如果您这样做,还必须在 VNet 和路由规则中使用现有子网。
通过将 OpenShift Container Platform 部署到现有的 Azure VNet 中,您可能会避开新帐户中的服务限制,或者更容易地利用公司所设置的操作限制。如果您无法获得创建 VNet 所需的基础架构创建权限,则可以使用这个选项。
5.7.3.1. 使用 VNet 的要求 复制链接链接已复制到粘贴板!
当使用现有 VNet 部署集群时,必须在安装集群前执行额外网络配置。在安装程序置备的基础架构集群中,安装程序通常会创建以下组件,但在安装到现有 VNet 时不会创建它们:
- 子网
- 路由表
- VNets
- 网络安全组
安装程序要求您使用由云提供的 DNS 服务器。不支持使用自定义 DNS 服务器,并导致安装失败。
如果您使用自定义 VNet,您必须正确配置它及其子网,以便安装程序和集群使用。安装程序不能为集群分配要使用的网络范围,为子网设置路由表,或者设置类似 DHCP 的 VNet 选项,因此您必须在安装集群前配置它们。
集群必须能够访问包含现有 VNet 和子网的资源组。虽然集群创建的所有资源都放在它创建的单独资源组中,但有些网络资源则从另外一个独立的组中使用。一些集群 Operator 必须能够访问这两个资源组中的资源。例如,Machine API 控制器会为它创建的虚拟机附加 NICS,使其从网络资源组中划分子网。
您的 VNet 必须满足以下特征:
-
VNet 的 CIDR 块必须包含
Networking.machineCIDR
,它是集群机器的 IP 地址池。 - VNet 及其子网必须属于同一资源组,子网必须配置为使用 Azure 分配的 DHCP IP 地址而不是静态 IP 地址。
您必须在 VNet 中提供两个子网,一个用于 control plane 机器,一个用于计算机器。因为 Azure 在您指定的区域内的不同可用区中分发机器,所以集群将默认具有高可用性功能。
要确保您提供的子网适合您的环境,安装程序会确认以下信息:
- 所有指定的子网都存在。
- 有两个专用子网,一个用于 control plane 机器,一个用于计算机器。
- 子网 CIDR 属于您指定的机器 CIDR。机器不会在没有为其提供私有子网的可用区中置备。
如果您销毁了使用现有 VNet 的集群,则不会删除 VNet。
5.7.3.1.1. 网络安全组要求 复制链接链接已复制到粘贴板!
托管 compute 和 control plane 机器的子网的网络安全组需要特定的访问权限,以确保集群通信正确。您必须创建规则来允许访问所需的集群通信端口。
在安装集群前必须先设置网络安全组规则。如果您试图在没有所需访问权限的情况下安装集群,安装程序就无法访问 Azure API,且会导致安装失败。
端口 | 描述 | Control plane | Compute |
---|---|---|---|
| 允许 HTTP 流量 | x | |
| 允许 HTTPS 流量 | x | |
| 允许与 control plane 机器通信。 | x | |
| 允许内部与机器配置服务器通信以用于置备机器 | x |
由于集群组件不会修改用户提供的网络安全组(Kubernetes 控制器更新它),因此会创建一个伪网络安全组,供 Kubernetes 控制器修改,而不影响其余的环境。