×

只要节点支持虚拟机 (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 模型:PenrynHaswell

  • 如果将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
  • 如果PenrynHaswell都支持特定 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