On Mac with M1, it's not so simple with minikube. After its installation, I encountered another error:
π minikube v1.35.0 on Darwin 14.1.2 (arm64)
β¨ Using the qemu2 driver based on user configuration
π€· Exiting due to PROVIDER_QEMU2_NOT_FOUND: The 'qemu2' provider was not found: exec: "qemu-system-aarch64": executable file not found in $PATH
π‘ Suggestion: Install qemu-system
π Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/qemu/
This requires a bit of effort.
We install qemu (yes, without 2)
brew install qemu
Then we do this trick to fix qemu issues (edk2-aarch64-code.fd). We will download edk2-aarch64-code.fd manually
But after starting, it turns out that qemu will crash due to the accelerator, which does not work on M1. So we need to look for other options.
π minikube v1.35.0 on Darwin 14.1.2 (arm64)
β¨ Using the qemu2 driver based on user configuration
π Automatically selected the builtin network
β You are using the QEMU driver without a dedicated network, which doesn't support minikube service & minikube tunnel commands.
To try the dedicated network see: https://minikube.sigs.k8s.io/docs/drivers/qemu/#networking
πΏ Downloading VM boot image ...
> minikube-v1.35.0-arm64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.35.0-arm64.iso: 393.15 MiB / 393.15 MiB 100.00% 6.28 MiB p/
π Starting "minikube" primary control-plane node in "minikube" cluster
πΎ Downloading Kubernetes v1.32.0 preload ...
> preloaded-images-k8s-v18-v1...: 314.92 MiB / 314.92 MiB 100.00% 6.30 Mi
π₯ Creating qemu2 VM (CPUs=4, Memory=4096MB, Disk=15000MB) ...\ OUTPUT:
ERROR: qemu-system-aarch64: -accel hvf: invalid accelerator hvf
π₯ Deleting "minikube" in qemu2 ...
π€¦ StartHost failed, but will try again: creating host: create: creating: qemu-system-aarch64: -accel hvf: invalid accelerator hvf: exit status 1
π₯ Creating qemu2 VM (CPUs=4, Memory=4096MB, Disk=15000MB) ...\ OUTPUT:
ERROR: qemu-system-aarch64: -accel hvf: invalid accelerator hvf
πΏ Failed to start qemu2 VM. Running "minikube delete" may fix it: creating host: create: creating: qemu-system-aarch64: -accel hvf: invalid accelerator hvf: exit status 1
We give up on qemu and start minikube using the docker driver.
Install Docker (download the .dmg for arm64) from the official site. If you try to start immediately with the docker driver, you will get an error. You need to delete the existing minikube container:
minikube start --driver=docker
π minikube v1.35.0 on Darwin 14.1.2 (arm64)
π’ Exiting due to GUEST_DRIVER_MISMATCH: The existing "minikube" cluster was created using the "qemu2" driver, which is incompatible with requested "docker" driver.
π‘ Suggestion: Delete the existing 'minikube' cluster using: 'minikube delete', or start the existing 'minikube' cluster using: 'minikube start --driver=qemu2'
We delete the container:
minikube delete
π₯ Deleting "minikube" in qemu2 ...
π Removed all traces of the "minikube" cluster.
And then everything is simple:
minikube start --driver=docker
π minikube v1.35.0 on Darwin 14.1.2 (arm64)
β¨ Using the docker driver based on user configuration
π Using Docker Desktop driver with root privileges
π Starting "minikube" primary control-plane node in "minikube" cluster
π Pulling base image v0.0.46 ...
> gcr.io/k8s-minikube/kicbase...: 452.84 MiB / 452.84 MiB 100.00% 6.76 Mi
π₯ Creating docker container (CPUs=4, Memory=4096MB) ...
π³ Preparing Kubernetes v1.32.0 on Docker 27.4.1 ...
βͺ Generating certificates and keys ...
βͺ Booting up control plane ...
βͺ Configuring RBAC rules ...
π Configuring bridge CNI (Container Networking Interface) ...
π Verifying Kubernetes components...
βͺ Using image gcr.io/k8s-minikube/storage-provisioner:v5
π Enabled addons: storage-provisioner, default-storageclass
π Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
The created container will be visible in the Docker application.
minikube + docker