qemu
QEMU driver
Overview
The qemu
driver uses QEMU (system) for VM creation.
Usage
To start minikube with the qemu driver:
minikube start --driver=qemu
Special features
minikube start supports some qemu specific flags:
--qemu-firmware-path
: The path to the firmware image to be used.
Networking
The QEMU driver has two networking options: socket_vmnet
and builtin
. socket_vmnet
will give you full minikube networking functionality, such as the service
and tunnel
commands. On the other hand, the builtin
network is not a dedicated network and therefore commands such as service
and tunnel
are not available. socket_vmnet can be installed via brew or from source (instructions below).
Requirements
Requires macOS 10.15 or later and socket_vmnet.
Install socket_vmnet via brew
brew install socket_vmnet
brew tap homebrew/services
HOMEBREW=$(which brew) && sudo ${HOMEBREW} services start socket_vmnet
Install socket_vmnet from source (requires Go)
git clone https://github.com/lima-vm/socket_vmnet.git && cd socket_vmnet
sudo make install
Usage
minikube start --driver qemu --network socket_vmnet
Usage
minikube start --driver qemu --network builtin
Known Issues
/var/db/dhcpd_leases
errors
If you’re seeing errors related to /var/db/dhcpd_leases
your firewall is likely blocking the bootpd process.
Run the following to unblock bootpd from the macOS builtin firewall:
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/libexec/bootpd
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblock /usr/libexec/bootpd
Start stuck on corp machine or with custom DNS
When using the builtin
network (default) the guest uses only the first nameserver
entry in the hosts /etc/resolv.conf
for DNS lookup. If your first nameserver
entry is a corporate/internal DNS it’s likely it will cause an issue. If you see the warning ❗ This VM is having trouble accessing https://registry.k8s.io
on minikube start
you are likely being affected by this. This may prevent your cluster from starting entirely and you won’t be able to pull remote images. More details can be found at: #15021
Workarounds:
- If possible, reorder your
/etc/resolv.conf
to have a generalnameserver
entry first (eg.8.8.8.8
) and reboot your machine. - Use
--network=socket_vmnet
Full list of open ‘qemu’ driver issues
Troubleshooting
- Run
minikube start --alsologtostderr -v=4
to debug crashes
Last modified June 22, 2023: site: Update fix for dhcpd_leases issue (3dbf625e8)