Virtual Machines
Not officially supported
Hedgehog does not officially support running control or gateway nodes as virtual machines.
The examples on this page use libvirt/QEMU. The underlying requirements — UEFI without secure boot, VirtIO devices, and PCI passthrough for gateway data-plane NICs — apply to any hypervisor.
Common Settings
These apply to both control and gateway nodes.
- Use the
q35machine type withefifirmware. Only UEFI boot is supported. -
Disable secure boot:
-
Use VirtIO devices wherever possible.
- Attach a console device.
- Enable autostart so the VM starts with the host.
- The QEMU guest agent is built into the Flatcar image. To use it, add a
virtio-serial port named
org.qemu.guest_agent.0. See the Flatcar documentation for details.
Control Node
- Size the VM to meet or exceed the control node requirements.
- Configure both NICs as
virtio: one for the outside world, one for the out-of-band management network of the fabric switches.
Gateway Node
- There are no minimum performance guarantees when the gateway is in a VM.
- Size the VM to meet or exceed the gateway node requirements.
- Configure the management NIC as
virtio. - Use PCI passthrough — not SR-IOV — for the data-plane NICs. Passthrough usually requires host-side configuration (IOMMU, driver binding) before the device can be attached: