$ oc edit hyperconvergeds.v1beta1.hco.kubevirt.io kubevirt-hyperconverged -n kubevirt-hyperconverged
You can configure CPU models for your virtual machines at both the cluster level and individual VM level. Set a cluster-wide default CPU model to automatically apply to all new VMs, or configure a specific CPU model for individual VMs to override the cluster default.
Use the defaultCPUModel setting in the HyperConverged custom resource (CR) to define a cluster-wide default CPU model.
When you set a cluster-wide default CPU model:
Every new virtual machine (VM) that does not have an explicit CPU model defined receives a node selector for the chosen CPU model.
Only nodes labeled with cpu-model.node.kubevirt.io/<cpuModel> are eligible to run VMs using the default model.
Nodes that do not support the selected CPU model are not considered during VM scheduling.
|
The |
A CPU model configured at the VM level always takes precedence over the cluster-wide default CPU model.
Install the OpenShift CLI (oc).
Open the HyperConverged CR by running the following command:
$ oc edit hyperconvergeds.v1beta1.hco.kubevirt.io kubevirt-hyperconverged -n kubevirt-hyperconverged
Add the defaultCPUModel field to the CR and set the value to the name of a CPU model that exists in the cluster:
apiVersion: hco.kubevirt.io/v1beta1
kind: HyperConverged
metadata:
name: kubevirt-hyperconverged
namespace: kubevirt-hyperconverged
spec:
defaultCPUModel: "EPYC-IBPB"
where:
EPYC-IBPBSpecifies a CPU model that is supported by nodes in your cluster.
Apply the YAML file to your cluster.
You can specify a named CPU model in the virtual machine (VM) specification. This per-VM configuration takes precedence over any cluster-wide default CPU model.
The VM CPU model depends on the availability of CPU models within the VM and the cluster.
If the VM does not have a defined CPU model, the defaultCPUModel is automatically set using the CPU model defined at the cluster-wide level.
If both the VM and the cluster have a defined CPU model, the VM’s CPU model takes precedence.
If neither the VM nor the cluster have a defined CPU model, the host-model is automatically set using the CPU model defined at the host level.
Install the OpenShift CLI (oc).
To configure a named CPU model for a specific VM, edit the VirtualMachine custom resource (CR):
apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
name: myvm
spec:
template:
spec:
domain:
cpu:
model: Conroe
spec.template.spec.domain.cpu.model defines the named CPU model for the VM.
Apply the CR to your cluster.