×

在OpenShift Virtualization中,分配给虚拟机(VM)的计算资源由保证的CPU或分时CPU共享支持。

保证的CPU,也称为CPU预留,将CPU核心或线程专用于特定工作负载,使其对任何其他工作负载不可用。将保证的CPU分配给虚拟机可确保虚拟机将单独访问预留的物理CPU。为虚拟机启用专用资源以使用保证的CPU。

分时CPU将共享物理CPU上的时间片分配给每个工作负载。您可以在创建虚拟机时或虚拟机处于离线状态时指定时间片的大小。默认情况下,每个vCPU接收100毫秒或1/10秒的物理CPU时间。

CPU预留的类型取决于实例类型或虚拟机配置。

超额分配CPU资源

分时允许多个虚拟CPU (vCPU) 共享单个物理CPU。这称为CPU超额分配。保证的虚拟机无法超额分配。

配置CPU超额分配,以便在将CPU分配给虚拟机时优先考虑虚拟机密度而不是性能。通过更高的vCPU CPU超额分配,更多虚拟机可以适应给定节点。

设置CPU分配比率

CPU分配比率通过将vCPU映射到物理CPU的时间片来指定超额分配的程度。

例如,10:1的映射或比率通过使用时间片将10个虚拟CPU映射到1个物理CPU。

要更改映射到每个物理CPU的vCPU的默认数量,请在HyperConverged CR中设置vmiCPUAllocationRatio值。Pod CPU请求是通过将vCPU数量乘以CPU分配比率的倒数来计算的。例如,如果vmiCPUAllocationRatio设置为10,则OpenShift Virtualization将为该虚拟机的Pod请求少10倍的CPU。

步骤

HyperConverged CR中设置vmiCPUAllocationRatio值以定义节点CPU分配比率。

  1. 通过运行以下命令在默认编辑器中打开HyperConverged CR

    $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv
  2. 设置vmiCPUAllocationRatio

    ...
    spec:
      resourceRequirements:
        vmiCPUAllocationRatio: 1 (1)
    # ...
    1 vmiCPUAllocationRatio设置为1时,将为Pod请求最大数量的vCPU。

其他资源