By default KubeVirt uses the
/dev/kvm device to enable hardware emulation.
This is almost always desirable, however there are a few exceptions where this
approach is problematic. For instance, running KubeVirt on a cluster where the
nodes do not support hardware emulation.
In the same way, by default KubeVirt requires presence of
in case that at least one network interface model is virtio (note: if the NIC
model is not explicitly specified, by default virtio is chosen).
useEmulation is enabled,
- hardware emulation via
/dev/kvmwill not be attempted.
qemuwill be used for software emulation instead.
- in-kernel virtio-net backend emulation via
/dev/vhost-netwill not be attempted. QEMU userland virtio NIC emulation will be used for virtio-net interface instead.
Enabling software emulation is a cluster-wide setting, and is activated by editing the kubevirt-config as follows:
cluster-up/kubectl.sh --namespace kubevirt edit kubevirt kubevirt
Add the following snippet to the spec:
spec: configuration: developerConfiguration: useEmulation: true