hyperkit

HyperKit driver

Overview

HyperKit is an open-source hypervisor for macOS hypervisor, optimized for lightweight virtual machines and container deployment.

Requirements

  • macOS 10.11+
  • HyperKit

HyperKit installation

  • If Docker for Desktop is installed, you already have HyperKit
  • Otherwise, if you have Brew Package Manager, run:
brew install hyperkit

Driver installation

You must also download and install the latest minikube driver:

curl -LO https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-hyperkit \
&& sudo install -o root -m 4755 docker-machine-driver-hyperkit /usr/local/bin/

Usage

Start a cluster using the hyperkit driver:

minikube start --vm-driver=hyperkit

To make hyperkit the default driver:

minikube config set vm-driver hyperkit

Special features

minikube start supports additional hyperkit specific flags:

  • --hyperkit-vpnkit-sock: Location of the VPNKit socket used for networking. If empty, disables Hyperkit VPNKitSock, if ‘auto’ uses Docker for Mac VPNKit connection, otherwise uses the specified VSoc
  • --hyperkit-vsock-ports: List of guest VSock ports that should be exposed as sockets on the host
  • --nfs-share: Local folders to share with Guest via NFS mounts
  • --nfs-shares-root: Where to root the NFS Shares (default “/nfsshares”)
  • --uuid: Provide VM UUID to restore MAC address

Issues

Local DNS server conflict

If you are using dnsmasq and minikube fails, add listen-address=192.168.64.1 to dnsmasq.conf.

If you are running other DNS servers, shut them off or specify an alternative bind address.

Other

Troubleshooting

  • Run docker-machine-driver-hyperkit version to make sure the version matches minikube
  • Run minikube start --alsologtostderr -v=7 to debug crashes