krunkit

Overview

krunkit is an open-source program for macOS virtualization, optimized for GPU accelerated virtual machines and AI workloads.

Requirements

  • Available only on Apple silicon.
  • Requires macOS 13 or later.
  • Requires minikube version 1.37.0 or later.
  • Requires krunkit version 0.2.2 or later.
  • Requires vmnet-helper.

Installing krunkit

To install krunkit run:

brew tap slp/krunkit
brew install krunkit

Networking

To use the krunkit driver you must install vmnet-helper, see installation instructions bellow.

Install vment-helper

machine="$(uname -m)"
archive="vmnet-helper-$machine.tar.gz"
curl -LOf "https://github.com/nirs/vmnet-helper/releases/latest/download/$archive"
sudo tar xvf "$archive" -C / opt/vmnet-helper
rm "$archive"

The command downloads the latest release from github and installs it to /opt/vmnet-helper.

[!IMPORTANT] The vmnet-helper executable and the directory where it is installed must be owned by root and may not be modifiable by unprivileged users.

Grant permission to run vmnet-helper

The vment-helper process must run as root to create a vmnet interface. To allow users in the staff group to run the vmnet helper without a password, you can install the default sudoers rule:

sudo install -m 0640 /opt/vmnet-helper/share/doc/vmnet-helper/sudoers.d/vmnet-helper /etc/sudoers.d/

You can change the sudoers configuration to allow access to specific users or other groups.

Usage

minikube start --driver krunkit

Issues

Other

Troubleshooting

Run with logs

Run minikube start --driver krunkit --alsologtostderr -v=7 to debug crashes

Troubleshooting vmnet-helper

Check for errors in vment-helper log:

$MINIKUBE_HOME/.minikube/machines/MACHINE-NAME/vmnet-helper.log

Check that the vmnet-helper process is running:

ps au | grep vmnet-helper | grep -v grep

If the helper is not running restart the minikube cluster.

For help with vment-helper please use the discussions.