规划 OpenShift 虚拟化部署
虚拟私有云 4.17 后来 仅限裸机工作节点 仅限 RHCOS
在 Red Hat OpenShift on IBM Cloud 上部署 OpenShift 虚拟化之前,请查看先决条件并规划群集配置、存储解决方案和网络设置。
OpenShift 虚拟化服务 是速度最快的选项,可自动配置存储、网络和运维人员——几分钟内即可就绪,而非数小时。
先决条件
要部署 OpenShift 虚拟化服务,您需要一个具备相应IAM权限的 IBM Cloud 账户。 具体来说,您需要为“Kubernetes Service”分配“操作员”角色,并为“VPC 基础设施服务”分配 “编辑”或 “管理员” 角色。
您的 VPC 基础设施必须包含一个 VPC,该 VPC 需在您所需的区域内拥有子网,并为裸机工作节点预留足够的配额。 您的 OpenShift 集群必须为 4.17 或更高版本,并在运行RHCOS的VPC裸机工作节点上运行。 该集群必须使用 OVN- Kubernetes CNI,并且必须禁用出站流量保护。
规划群集配置
选择裸机口味
根据工作负载要求选择裸机版本。 如需支持的完整版本列表,请参阅 裸机版本。
如果您计划使用 OpenShift 数据基础(ODF),请选择名称中带有 d 后缀或 3d 的裸机实例,这些实例包含NVMe本地存储。 ODF 需要本地磁盘才能获得最佳性能。 对于 VPC File Storage,可以使用任何受支持的裸机规格,但为了获得更好的整体性能,仍建议使用带有本地存储的规格。
根据工作负载类型选择合适的裸机方案。 对于高性能工作负载,请选择配备本地存储和 ODF 的裸机实例。 内存密集型工作负载在 mx 系列裸机实例上表现最佳,而计算密集型工作负载则更适合 cx 系列实例。 对于工作负载均衡的情况,请选择 bx 系列的裸机实例。 如果您最重视成本优化,建议考虑使用配备 VPC 的较小规格裸机实例:File Storage。
工人池架构
为了优化成本,建议采用双池架构:其中一个裸机池用于 VM 工作负载,另一个VSI池用于基础设施组件。 或者,您可以采用单池架构,让所有组件都在裸机节点上运行。 这种方法虽然更简单,但成本更高。
对于虚拟化工作负载,建议采用单区域部署,因为这种方式可以最大限度地降低 VM 工作负载的存储延迟,简化VNI配置(VNI是区域专属的),并减少跨区域存储复制的开销。 多区域部署可提供更高的可用性,而 ODF 需要 3 个或更多区域才能实现高可用性。 不过,跨区域存储复制可能会影响 VM 的性能,因此在使用VNI时,应避免进行跨区域的 VM 迁移。
规划您的存储解决方案
OpenShift 虚拟化要求存储设备支持 ReadWriteMany (RWX) 访问模式。 根据工作负载要求选择存储解决方案。
存储决策矩阵
| 用例 | OpenShift Data Foundation | VPC File Storage |
|---|---|---|
| 高可用性(多区域) | 建议 | 不建议 |
| 高读写工作量 | 建议 | 适用于高 IOPS 级别的设备 |
| 低读写或非生产 | 成本高 | 建议 |
| 支持快照和克隆 | 支持 | 不支持 |
| 实时迁移 | 支持 | 支持 |
| 成本 | 较高 | 小写 |
存储器选项
- OpenShift 数据基础(ODF)
- ODF 最适合用于具有高 I/O 需求的生产环境,以及需要快照或克隆支持的情况。 ODF 需要配备本地 NVMe 存储的裸机,至少 3 个节点,以及 3 个或更多区域以实现高可用性。 如需了解更多信息,请参阅《 了解 ODF 》。
- VPC File Storage
- VPC 文件存储非常适合开发环境、注重成本的部署以及 I/O 需求较低至中等工作负载。 您可以使用 VPC File Storage 中的任何裸机版本,并且需要 VPC File CSI 驱动程序。 请注意,VPC File Storage 不支持快照或克隆功能。 为了获得最佳性能,请使用
ibmc-vpc-file-1000-iops或ibmc-vpc-file-6000-iops存储类。 如需了解更多信息,请参阅 VPC File Storage 配置文件。
规划网络设置
联网选项
OpenShift 4.17 此外,它还支持基础网络功能,包括默认 Pod 网络、服务、路由以及 VPC 负载均衡器。 为了实现更强大的网络功能,OpenShift ( 4.20 )及更高版本支持虚拟网络接口(VNI),该功能可提供直接的VPC连接、浮动IP地址,并在迁移过程中保持网络配置不变。 VNI 需要 NMState 操作符、OVS 桥接器、UDN 以及 OVN- Kubernetes CNI。 请注意,VNI 是针对特定区域的。 VNI 功能现已随 OpenShift 正式发布 4.20。
VNI 功能普遍可用。 仍有少量账户可能被封禁;如需访问,请联系 IBM Cloud 客服。
有关安装 NMState 操作员和配置 VNI 的信息,请参阅 管理 OpenShift 虚拟化的虚拟网络接口。
Node 就业
为了优化成本,请使用节点选择器或污点与容忍机制,在 VSI 节点上部署基础设施组件,例如 KubeVirt 操作员、CDI 和控制器。 为获得最佳性能,请在裸机节点上部署 VM 工作负载,并使用节点选择器来定位裸机节点。
有效的部署策略包括分别创建 baremetal-pool 和 vsi-pool 两个工作节点池,然后对节点进行适当标记。 为裸机节点添加标签 node-role.kubernetes.io/worker-vm=true,为VSI节点添加标签 node-role.kubernetes.io/infra=true。 最后,配置 HyperConverged 集群,并设置节点放置规则以强制执行这种分离。
规模和优化
集群的最低配置要求在单个区域内拥有 3 个裸机节点。 对于生产环境部署,建议采用单区配置,包含 3 个或更多裸机节点,以及用于基础设施的额外 VSI 节点。 如果您需要高可用性,请在 3 个区域中,每个区域部署 3 个或更多裸机节点,并为基础设施部署额外的 VSI 节点。
在规划 VM 资源时,请为每个节点预留约 10 个 vCPU 以及 32 GB 内存,以应对系统开销。 例如,一台 96 核的 vCPU 服务器可为虚拟机提供约 86 vCPU 的计算资源。
为优化成本,请在非生产环境中使用 VPC File Storage,将基础设施组件部署在 VSI 上,合理配置 VM 资源,选用合适的存储 IOPS 类别,并考虑为长期使用预留容量。 如需了解更多信息,请参阅《 了解集群成本 》。
出于安全考虑,请使用安全组和网络策略来控制流量,启用存储加密以保护静止数据,为 VM 管理配置基于角色的访问控制(RBAC)以控制访问权限,并使用 Secrets Manager 来管理凭据和证书等敏感数据。
后续步骤
规划部署后
- 为 OpenShift 虚拟化设置存储
- 安装 OpenShift 虚拟化操作员 ( OpenShift 虚拟化服务 无需安装——操作员已预装)
- 配置虚拟网络接口(可选) (对于虚拟化服务,请跳过 NMState 操作员的安装和 NNCP 资源的创建步骤)