9.3. 关于使用自定义 VPC
在 OpenShift Container Platform 4.17 中,您可以在 Google Cloud Platform (GCP) 上将集群部署到现有的 VPC 中。如果您这样做,还必须使用 VPC 中的现有子网和路由规则。
通过将 OpenShift Container Platform 部署到现有的 GCP VPC 中,您可以避免新帐户中的限制,或者更容易地利用公司所设置的操作限制。如果您无法获得创建 VPC 所需的基础架构创建权限,则可以使用这个选项。
9.3.1. 使用 VPC 的要求
安装程序将不再创建以下组件:
- VPC
- 子网
- 云路由器
- Cloud NAT
- NAT IP 地址
如果使用自定义 VPC,您必须为安装程序和集群正确配置它及其子网。安装程序不能为集群分配要使用的网络范围,为子网设置路由表,或者设置类似 DHCP 的 VPC 选项,因此您必须在安装集群前这样做。
您的 VPC 和子网必须满足以下特征:
- VPC 必须位于您将 OpenShift Container Platform 集群部署到的同一 GCP 项目中。
- 要允许 control plane 和计算机器访问互联网,您必须在子网上配置云 NAT 以允许出站数据。这些机器没有公共地址。即使不需要访问互联网,您也必须允许到 VPC 网络的出口,以获取安装程序和镜像。因为不能在共享子网中配置多个云 NAT,所以安装程序无法配置它。
为确保您提供的子网适合,安装程序会确认以下数据:
- 您指定的所有子网都存在,并属于您指定的 VPC。
- 子网 CIDR 属于机器 CIDR。
- 您必须提供一个子网来部署集群 control plane 和计算机器。您可以将相同的子网用于这两种机器类型。
如果您销毁了使用现有 VPC 的集群,则 VPC 不会被删除。
9.3.2. 权限划分
从 OpenShift Container Platform 4.3 开始,您不需要安装程序置备的基础架构集群部署所需的所有权限。这与您所在机构可能拥有的权限划分类似:一些个人可以在您的云中创建不同的资源。例如,您可以创建特定于应用程序的对象,如实例、存储桶和负载均衡器,但不能创建与网络相关的组件,如 VPC、子网或 Ingress 规则。
您在创建集群时使用的 GCP 凭证不需要 VPC 和 VPC 中的核心网络组件(如子网、路由表、互联网网关、NAT 和 VPN)所需的网络权限。您仍然需要获取集群中的机器需要的应用程序资源的权限,如负载均衡器、安全组、存储和节点。
9.3.3. 集群间隔离
如果您将 OpenShift Container Platform 部署到现有网络中,则集群服务的隔离由防火墙规则保留,该规则根据集群的基础架构 ID 来引用集群中的机器。仅允许集群中的流量。
如果您将多个集群部署到同一个 VPC 中,则以下组件可能会在集群间共享访问权限:
- API,可通过外部发布策略全局可用,或通过内部发布策略在整个网络中可用
- 调试工具,如对机器 CIDR 开放的用于 SSH 和 ICMP 访问的虚拟机实例上的端口