×

只要节点支持虚拟机 (VM) CPU 模型和策略,您就可以在节点上调度虚拟机。

关于针对过时 CPU 模型的节点标签

OpenShift Virtualization Operator 使用预定义的过时 CPU 模型列表来确保节点仅支持已调度虚拟机的有效 CPU 模型。

默认情况下,以下 CPU 模型将从为节点生成的标签列表中删除

过时的 CPU 模型
"486"
Conroe
athlon
core2duo
coreduo
kvm32
kvm64
n270
pentium
pentium2
pentium3
pentiumpro
phenom
qemu32
qemu64

此预定义列表在 `HyperConverged` CR 中不可见。您不能 *删除* 此列表中的 CPU 模型,但可以通过编辑 `HyperConverged` CR 的 `spec.obsoleteCPUs.cpuModels` 字段来添加到列表中。

关于针对 CPU 功能的节点标签

通过迭代过程,最小 CPU 模型中的基本 CPU 功能将从为节点生成的标签列表中删除。

例如

  • 环境可能具有两个受支持的 CPU 模型:`Penryn` 和 `Haswell`。

  • 如果将 `Penryn` 指定为 `minCPU` 的 CPU 模型,则将 `Penryn` 的每个基本 CPU 功能与 `Haswell` 支持的 CPU 功能列表进行比较。

    `Penryn` 支持的 CPU 功能
    apic
    clflush
    cmov
    cx16
    cx8
    de
    fpu
    fxsr
    lahf_lm
    lm
    mca
    mce
    mmx
    msr
    mtrr
    nx
    pae
    pat
    pge
    pni
    pse
    pse36
    sep
    sse
    sse2
    sse4.1
    ssse3
    syscall
    tsc
    `Haswell` 支持的 CPU 功能
    aes
    apic
    avx
    avx2
    bmi1
    bmi2
    clflush
    cmov
    cx16
    cx8
    de
    erms
    fma
    fpu
    fsgsbase
    fxsr
    hle
    invpcid
    lahf_lm
    lm
    mca
    mce
    mmx
    movbe
    msr
    mtrr
    nx
    pae
    pat
    pcid
    pclmuldq
    pge
    pni
    popcnt
    pse
    pse36
    rdtscp
    rtm
    sep
    smep
    sse
    sse2
    sse4.1
    sse4.2
    ssse3
    syscall
    tsc
    tsc-deadline
    x2apic
    xsave
  • 如果 `Penryn` 和 `Haswell` 都支持特定的 CPU 功能,则不会为该功能创建标签。将为仅 `Haswell` 支持而 `Penryn` 不支持的 CPU 功能生成标签。

    迭代后为 CPU 功能创建的节点标签
    aes
    avx
    avx2
    bmi1
    bmi2
    erms
    fma
    fsgsbase
    hle
    invpcid
    movbe
    pcid
    pclmuldq
    popcnt
    rdtscp
    rtm
    sse4.2
    tsc-deadline
    x2apic
    xsave

配置过时的 CPU 模型

您可以通过编辑 `HyperConverged` 自定义资源 (CR) 来配置过时 CPU 模型列表。

步骤
  • 编辑 `HyperConverged` 自定义资源,在 `obsoleteCPUs` 数组中指定过时的 CPU 模型。例如

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
      namespace: openshift-cnv
    spec:
      obsoleteCPUs:
        cpuModels: (1)
          - "<obsolete_cpu_1>"
          - "<obsolete_cpu_2>"
        minCPUModel: "<minimum_cpu_model>" (2)
    1 使用过时的 CPU 模型替换 `cpuModels` 数组中的示例值。您指定的任何值都将添加到预定义的过时 CPU 模型列表中。预定义列表在 CR 中不可见。
    2 将此值替换为您要用于基本 CPU 功能的最小 CPU 模型。如果您未指定值,则默认使用 `Penryn`。