0

I have just started learning about containers and Minikube. I am using Mac with m1 chip. As far as I know, Minikube requires a VM (that would mean it would require a hypervisor). However, I have not installed any VM, just docker desktop on my laptop and was able to install Minikube without any hypervisors like virtual box:

% minikube start
minikube v1.30.1 on Darwin 12.6.2 (arm64)
▪ MINIKUBE_ROOTLESS=true
✨ Using the qemu2 driver based on existing profile
Starting control plane node minikube in cluster minikube
Updating the running qemu2 "minikube" VM ...
Preparing Kubernetes v1.26.3 on Docker 20.10.23 ...
Configuring bridge CNI (Container Networking Interface) ...
Verifying Kubernetes components...
Enabled addons: storage-provisioner, default-storageclass
Done! kubectl is now configured to use "minikube" cluster and
"default" namespace by default`

It's a basic question, but how is Minikube VM getting installed without me having any hypervisor like virtual box installed? Also, is there any way from Mac terminal to view the running VMs? Docker ps does not show them:

docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

  • The output you show indicates it's using [QEMU](https://www.qemu.org/). Docker Desktop also has a hidden Linux VM that's similarly difficult to directly see. – David Maze May 10 '23 at 09:50
  • @DavidMaze, maybe a bit off-topic, does that hypervisor on Mac is not a must for docker desktop's linux VM? Or does Mac have some sort of in-built hypervisor? – host_unreachable May 15 '23 at 09:30
  • Docker Desktop on Mac [uses](https://docs.docker.com/desktop/faqs/macfaqs/#what-is-hyperkit) a virtualization framework called [HyperKit](https://github.com/moby/hyperkit), which in turn runs atop the [MacOS Hypervisor framework](https://developer.apple.com/documentation/hypervisor). – David Maze May 15 '23 at 09:51

1 Answers1

0

Minikube is a tool that allows you to run a single-node Kubernetes cluster on your local machine for development and testing purposes. By default, Minikube uses a virtual machine (VM) to run the Kubernetes cluster, and it requires a hypervisor to manage the VM.

However, there is also a driver available for Minikube called none, which allows it to run without a hypervisor. The none driver uses the Docker runtime on your machine to start and manage the Kubernetes components directly, without the need for a VM.

you can use the minikube start --driver=none or sudo minikube config set driver none

Shachar297
  • 599
  • 2
  • 7