-
您可以使用安装程序预配的基础架构安装集群,确保为工作节点指定裸机实例类型。例如,您可以对基于 x86_64 架构的机器使用
c5n.metal
类型值。有关更多信息,请参阅有关在 AWS 上安装的 Red Hat OpenShift 服务文档。
在安装 OpenShift Virtualization 之前,请查看本节内容,以确保您的集群满足要求。
您可以将以下平台与 OpenShift Virtualization 配合使用
Amazon Web Services 裸机实例。
您可以在 AWS 上的 Red Hat OpenShift 服务 (ROSA) Classic 集群上运行 OpenShift Virtualization。
在设置集群之前,请查看以下支持的功能和限制的摘要
您可以使用安装程序预配的基础架构安装集群,确保为工作节点指定裸机实例类型。例如,您可以对基于 x86_64 架构的机器使用c5n.metal
类型值。
有关更多信息,请参阅有关在 AWS 上安装的 Red Hat OpenShift 服务文档。
使用virtctl
CLI 工具或 AWS 上的 Red Hat OpenShift 服务 Web 控制台访问虚拟机的方式没有变化。
您可以使用NodePort
或LoadBalancer
服务公开虚拟机。
负载均衡器方法更可取,因为 AWS 上的 Red Hat OpenShift 服务会在 AWS 中自动创建负载均衡器并管理其生命周期。还会为负载均衡器创建一个安全组,您可以使用注释来附加现有安全组。删除服务时,AWS 上的 Red Hat OpenShift 服务会删除负载均衡器及其关联的资源。
如果您的应用程序需要平面第 2 层网络或对 IP 池的控制,请考虑使用 OVN-Kubernetes 二级覆盖网络。
您可以使用存储供应商认证可与底层平台一起使用的任何存储解决方案。
AWS 裸机和 ROSA 集群可能具有不同的受支持存储解决方案。请确保您已与您的存储供应商确认支持。 |
将 Amazon Elastic File System (EFS) 或 Amazon Elastic Block Store (EBS) 与 OpenShift Virtualization 配合使用可能会导致性能和功能限制,如下表所示
功能 | EBS 卷 | EFS 卷 | 共享存储解决方案 | ||
---|---|---|---|---|---|
gp2 |
gp3 |
io2 |
|||
虚拟机实时迁移 |
不可用 |
不可用 |
可用 |
可用 |
可用 |
使用克隆快速创建虚拟机 |
可用 |
不可用 |
可用 |
||
使用快照备份和恢复虚拟机 |
可用 |
不可用 |
可用 |
考虑使用支持 ReadWriteMany (RWX)、克隆和快照的 CSI 存储,以启用实时迁移、快速虚拟机创建和虚拟机快照功能。
查看 OpenShift Virtualization 的以下硬件和操作系统要求。
受 Red Hat Enterprise Linux (RHEL) 9 支持。
有关受支持的 CPU,请参阅Red Hat 生态系统目录。
如果您的工作节点具有不同的 CPU,则可能会发生实时迁移失败,因为不同的 CPU 具有不同的功能。您可以通过确保您的工作节点具有适当容量的 CPU 并为您的虚拟机配置节点亲和性规则来缓解此问题。 有关详细信息,请参阅配置必需的节点亲和性规则。 |
支持 AMD 和 Intel 64 位架构 (x86-64-v2)。
支持 Intel 64 或 AMD64 CPU 扩展。
启用了 Intel VT 或 AMD-V 硬件虚拟化扩展。
启用了 NX(禁止执行)标志。
受 AWS 上的 Red Hat OpenShift 服务支持。
如果存储供应程序支持快照,则必须将VolumeSnapshotClass
对象与默认存储类关联。
如果您将存储 API 与已知的存储提供程序一起使用,则会自动选择卷和访问模式。但是,如果您使用的存储类没有存储配置文件,则必须配置卷和访问模式。
为了获得最佳结果,请使用ReadWriteMany
(RWX) 访问模式和Block
卷模式。这很重要,原因如下:
实时迁移需要ReadWriteMany
(RWX)访问模式。
Block
卷模式的性能显著优于Filesystem
卷模式。这是因为Filesystem
卷模式使用了更多存储层,包括文件系统层和磁盘镜像文件。这些层对于虚拟机磁盘存储来说并非必要。
您无法实时迁移具有以下配置的虚拟机:
为这些虚拟机将 |
具有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网络进行实时迁移。专用网络最大限度地减少了迁移期间网络饱和对租户工作负载的影响。
OpenShift Virtualization是AWS上Red Hat OpenShift服务的附加组件,在规划集群时,您必须考虑它带来的额外开销。每个集群机器都必须满足以下开销要求,此外还需要满足AWS上Red Hat OpenShift服务的要求。过度订阅集群中的物理资源会影响性能。
本文档中提到的数字基于Red Hat的测试方法和设置。这些数字会根据您自己的个人设置和环境而有所不同。 |
使用以下公式计算OpenShift Virtualization的内存开销值。
Memory overhead per infrastructure node ≈ 150 MiB
Memory overhead per worker node ≈ 360 MiB
此外,OpenShift Virtualization环境资源需要总共2179 MiB的RAM,这些RAM分布在所有基础架构节点上。
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)
1 | 在virt-launcher pod中运行的进程需要此开销。 |
2 | 虚拟机请求的虚拟CPU数量。 |
3 | 虚拟机请求的虚拟显卡数量。 |
4 | 其他内存开销
|
使用以下公式计算OpenShift Virtualization的集群处理器开销要求。每个虚拟机的CPU开销取决于您的个人设置。
CPU overhead for infrastructure nodes ≈ 4 cores
OpenShift Virtualization增加了集群级服务的整体利用率,例如日志记录、路由和监控。为了考虑此工作负载,请确保托管基础架构组件的节点已为分布在这些节点上的4个额外内核(4000毫核)分配容量。
CPU overhead for worker nodes ≈ 2 cores + CPU overhead per virtual machine
每个托管虚拟机的worker节点除了虚拟机工作负载所需的CPU外,还必须为OpenShift Virtualization管理工作负载预留2个额外内核(2000毫核)的容量。
如果请求专用CPU,则对集群CPU开销要求有1:1的影响。否则,关于虚拟机需要多少CPU没有具体规则。
使用以下指南来估计OpenShift Virtualization环境的存储开销要求。
Aggregated storage overhead per node ≈ 10 GiB
安装OpenShift Virtualization时,集群中每个节点的磁盘存储影响估计为10 GiB。
每个虚拟机的存储开销取决于虚拟机内资源分配的具体请求。该请求可能是节点上的临时存储或集群中其他位置托管的存储资源。OpenShift Virtualization目前不为正在运行的容器本身分配任何额外的临时存储。
作为集群管理员,如果您计划在集群中托管10个虚拟机,每个虚拟机具有1 GiB的RAM和2个vCPU,则整个集群的内存影响为11.68 GiB。集群中每个节点的磁盘存储影响估计为10 GiB,托管虚拟机工作负载的worker节点的CPU影响至少为2个内核。