12.3. 为过时的 CPU 型号管理节点标签
只要节点支持 VM CPU 模型和策略,您可以在节点上调度虚拟机(VM)。
12.3.1. 关于过时 CPU 型号的节点标签
OpenShift Virtualization Operator 使用预定义的过时 CPU 型号列表来确保节点只支持调度的虚拟机的有效 CPU 型号。
默认情况下,从为节点生成的标签列表中删除了以下 CPU 型号:
例 12.1. 过时的 CPU 型号
"486" Conroe athlon core2duo coreduo kvm32 kvm64 n270 pentium pentium2 pentium3 pentiumpro phenom qemu32 qemu64
在 HyperConverged
CR 中无法看到这个预定义列表。您无法从此列表中删除 CPU 型号,但您可以通过编辑 HyperConverged
CR 的 spec.obsoleteCPUs.cpuModels
字段来添加到列表中。
12.3.2. 关于 CPU 功能的节点标签
在迭代过程中,从为节点生成的标签列表中删除最小 CPU 模型中的基本 CPU 功能。
例如:
-
一个环境可能有两个支持的 CPU 型号:
Penryn
和Haswell
。 如果将
Penryn
指定为minCPU
的 CPU 型号,Penryn
的每个基本 CPU 功能都会与Haswell
支持的 CPU 功能列表进行比较。例 12.2.
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
例 12.3.
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 功能生成标签。例 12.4. 迭代后为 CPU 功能创建的节点标签
aes avx avx2 bmi1 bmi2 erms fma fsgsbase hle invpcid movbe pcid pclmuldq popcnt rdtscp rtm sse4.2 tsc-deadline x2apic xsave
12.3.3. 配置过时的 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