第 3 章 安装
3.1. 为 OpenShift Virtualization 准备集群
在安装 OpenShift Virtualization 前,参阅这个部分以确保集群满足要求。
3.1.1. 支持的平台
您可以在 OpenShift Virtualization 中使用以下平台:
- Amazon Web Services 裸机实例。
3.1.1.1. OpenShift Virtualization on Red Hat OpenShift Service on AWS
您可以在 AWS (ROSA) Classic 集群上运行 OpenShift Virtualization。
在设置集群前,请查看以下支持的功能和限制概述:
- 安装
您可以使用安装程序置备的基础架构安装集群,确保为 worker 节点指定裸机实例类型。例如,您可以对基于 x86_64 架构的机器使用
c5n.metal
类型值。如需更多信息,请参阅在 AWS 上安装 Red Hat OpenShift Service on AWS 文档。
- 访问虚拟机 (VM)
-
使用
virtctl
CLI 工具或 Red Hat OpenShift Service on AWS Web 控制台没有更改您如何访问虚拟机。 您可以使用
NodePort
或LoadBalancer
服务公开虚拟机。- 负载均衡器方法是首选的,因为 Red Hat OpenShift Service on AWS 会在 AWS 中自动创建负载均衡器并管理其生命周期。另外,还会为负载均衡器创建一个安全组,您可以使用注解来附加现有的安全组。删除服务时,Red Hat OpenShift Service on AWS 会移除负载均衡器及其关联的资源。
- 网络
- 如果您的应用程序需要扁平第 2 层网络或对 IP 池进行控制,请考虑使用 OVN-Kubernetes 二级覆盖网络。
- Storage
您可以使用存储厂商认证的任何存储解决方案与底层平台一起使用。
重要AWS 裸机和 ROSA 集群可能有不同的存储解决方案。确保您确认支持您的存储供应商。
在 OpenShift Virtualization 中使用 Amazon Elastic File System (EFS)或 Amazon Elastic Block Store (EBS)可能会导致性能和功能限制,如下表所示:
表 3.1. EFS 和 EBS 性能和功能限制 功能 EBS 卷 EFS 卷 共享存储解决方案 gp2
gp3
io2
VM 实时迁移
不可用
不可用
Available
Available
Available
使用克隆快速创建虚拟机
Available
不可用
Available
使用快照进行虚拟机备份和恢复
Available
不可用
Available
考虑使用支持 ReadWriteMany (RWX)、克隆和快照的 CSI 存储来启用实时迁移、快速虚拟机创建和虚拟机快照功能。
3.1.2. 硬件和操作系统要求
查看 OpenShift Virtualization 的以下硬件和操作系统要求。
3.1.2.1. CPU 要求
由 Red Hat Enterprise Linux (RHEL) 9 支持。
参阅用于支持的 CPU 红帽生态系统目录。
注意如果您的 worker 节点有不同的 CPU,则可能会出现实时迁移失败,因为不同的 CPU 具有不同的功能。您可以通过确保 worker 节点具有适当容量的 CPU,并为虚拟机配置节点关联性规则来缓解这个问题。
详情请参阅 配置所需的节点关联性规则。
- 支持 AMD 和 Intel 64 位架构 (x86-64-v2)。
- 支持 Intel 64 或 AMD64 CPU 扩展。
- 启用 Intel VT 或 AMD-V 硬件虚拟化扩展。
- 启用 NX (无执行)标记。
3.1.2.2. 操作系统要求
- 在 worker 节点上安装的 Red Hat Enterprise Linux CoreOS (RHCOS)。
3.1.2.3. 存储要求
- 由 Red Hat OpenShift Service on AWS 支持。
-
如果存储置备程序支持快照,您必须将
VolumeSnapshotClass
对象与默认存储类关联。
3.1.2.3.1. 关于虚拟机磁盘的卷和访问模式
如果您将存储 API 与已知的存储供应商搭配使用,则会自动选择卷和访问模式。但是,如果您使用没有存储配置集的存储类,您必须配置卷和访问模式。
要获得最佳结果,请使用 ReadWriteMany
(RWX)访问模式和 Block
卷模式。这一点非常重要:
-
实时迁移需要
ReadWriteMany
(RWX) 访问模式。 -
块
卷模式的性能优于Filesystem
卷模式。这是因为Filesystem
卷模式使用更多存储层,包括文件系统层和磁盘镜像文件。虚拟机磁盘存储不需要这些层。
您不能使用以下配置实时迁移虚拟机:
-
具有
ReadWriteOnce
(RWO) 访问模式的存储卷 - 透传功能,比如 GPU
对于这些虚拟机,将 evictionStrategy
字段设置为 None
。None
策略会在节点重启过程中关闭虚拟机。
3.1.3. 实时迁移要求
-
使用
ReadWriteMany
(RWX)访问模式的共享存储. 足够的 RAM 和网络带宽。
注意您必须确保集群中有足够的内存请求容量来支持节点排空会导致实时迁移。您可以使用以下计算来确定大约所需的备用内存:
Product of (Maximum number of nodes that can drain in parallel) and (Highest total VM memory request allocations across nodes)
在集群中 并行运行的默认迁移数 为 5。
- 如果虚拟机使用主机型号 CPU,则节点必须支持虚拟机的主机型号 CPU。
- 强烈建议使用专用的 Multus 网络进行实时迁移。专用网络可最小化迁移期间对租户工作负载网络饱和的影响。
3.1.4. 物理资源开销要求
OpenShift Virtualization 是 Red Hat OpenShift Service on AWS 的一个附加组件,并需要额外的开销,您必须在规划集群时考虑这些开销。除了 Red Hat OpenShift Service on AWS 要求外,每个集群机器都必须满足以下开销要求。覆盖集群中的物理资源可能会影响性能。
本文档中给出的数字基于红帽的测试方法和设置。这些数字会根据您自己的设置和环境而有所不同。
内存开销
使用以下因素计算 OpenShift Virtualization 的内存开销值。
集群内存开销
Memory overhead per infrastructure node ≈ 150 MiB
Memory overhead per worker node ≈ 360 MiB
另外,OpenShift Virtualization 环境资源需要总计 2179 MiB 的内存,分布到所有基础架构节点。
虚拟机内存开销
Memory overhead per virtual machine ≈ (1.002 × requested memory) \ + 218 MiB \ 1 + 8 MiB × (number of vCPUs) \ 2 + 16 MiB × (number of graphics devices) \ 3 + (additional memory overhead) 4
CPU 开销
使用以下内容计算 OpenShift Virtualization 的集群处理器开销要求。每个虚拟机的 CPU 开销取决于您的单独设置。
集群 CPU 开销
CPU overhead for infrastructure nodes ≈ 4 cores
OpenShift Virtualization 增加集群级别服务的整体使用,如日志记录、路由和监控。要考虑这个工作负载,请确保托管基础架构组件的节点分配了用于不同节点的 4 个额外内核(4000 毫秒)的容量。
CPU overhead for worker nodes ≈ 2 cores + CPU overhead per virtual machine
除了虚拟机工作负载所需的 CPU 外,每个托管虚拟机的 worker 节点都必须有 2 个额外内核(2000 毫秒)用于 OpenShift Virtualization 管理工作负载。
虚拟机 CPU 开销
如果请求专用 CPU,则会对集群 CPU 开销要求有 1:1 影响。否则,没有有关虚拟机所需 CPU 数量的具体规则。
存储开销
使用以下指南来估算 OpenShift Virtualization 环境的存储开销要求。
集群存储开销
Aggregated storage overhead per node ≈ 10 GiB
10 GiB 在安装 OpenShift Virtualization 时,集群中每个节点的磁盘存储影响估计值。
虚拟机存储开销
每个虚拟机的存储开销取决于虚拟机内的具体资源分配请求。该请求可能用于集群中其他位置托管的节点或存储资源的临时存储。OpenShift Virtualization 目前不会为正在运行的容器本身分配任何额外的临时存储。
Example
作为集群管理员,如果您计划托管集群中的 10 个虚拟机,每个虚拟机都有 1 GiB RAM 和 2 个 vCPU,集群中的内存影响为 11.68 GiB。集群中每个节点的磁盘存储影响估算为 10 GiB,托管虚拟机工作负载的 worker 节点的 CPU 影响最小 2 个内核。