Tasks

Edit This Page

Install Minikube

This page shows you how to install Minikube, a tool that runs a single-node Kubernetes cluster in a virtual machine on your personal computer.

Before you begin

To check if virtualization is supported on Linux, run the following command and verify that the output is non-empty:

grep -E --color 'vmx|svm' /proc/cpuinfo

To check if virtualization is supported on macOS, run the following command on your terminal.

sysctl -a | grep -E --color 'machdep.cpu.features|VMX' 

If you see VMX in the output (should be colored), the VT-x feature is enabled in your machine.

To check if virtualization is supported on Windows 8 and above, run the following command on your Windows terminal or command prompt.

systeminfo

If you see the following output, virtualization is supported on Windows.

Hyper-V Requirements:     VM Monitor Mode Extensions: Yes
                          Virtualization Enabled In Firmware: Yes
                          Second Level Address Translation: Yes
                          Data Execution Prevention Available: Yes

If you see the following output, your system already has a Hypervisor installed and you can skip the next step.

Hyper-V Requirements:     A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Installing minikube

Install kubectl

Make sure you have kubectl installed. You can install kubectl according to the instructions in Install and Set Up kubectl.

Install a Hypervisor

If you do not already have a hypervisor installed, install one of these now:

KVM, which also uses QEMU

VirtualBox

Minikube also supports a --vm-driver=none option that runs the Kubernetes components on the host and not in a VM. Using this driver requires Docker and a Linux environment but not a hypervisor.

If you’re using the none driver in Debian or a derivative, use the .deb packages for Docker rather than the snap package, which does not work with Minikube. You can download .deb packages from Docker.

Caution: The none VM driver can result in security and data loss issues. Before using --vm-driver=none, consult this documentation for more information.

Minikube also supports a vm-driver=podman similar to the Docker driver. Podman run as superuser privilege (root user) is the best way to ensure that your containers have full access to any feature available on your system.

Caution: The podman driver requires running the containers as root because regular user accounts don’t have full access to all operating system features that their containers might need to run.

Install Minikube using a package

There are experimental packages for Minikube available; you can find Linux (AMD64) packages from Minikube’s releases page on GitHub.

Use your Linux’s distribution’s package tool to install a suitable package.

Install Minikube via direct download

If you’re not installing via a package, you can download a stand-alone binary and use that.

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
  && chmod +x minikube

Here’s an easy way to add the Minikube executable to your path:

sudo mkdir -p /usr/local/bin/
sudo install minikube /usr/local/bin/

Install Minikube using Homebrew

As yet another alternative, you can install Minikube using Linux Homebrew:

brew install minikube

Install kubectl

Make sure you have kubectl installed. You can install kubectl according to the instructions in Install and Set Up kubectl.

Install a Hypervisor

If you do not already have a hypervisor installed, install one of these now:

HyperKit

VirtualBox

VMware Fusion

Install Minikube

The easiest way to install Minikube on macOS is using Homebrew:

brew install minikube

You can also install it on macOS by downloading a stand-alone binary:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64 \
  && chmod +x minikube

Here’s an easy way to add the Minikube executable to your path:

sudo mv minikube /usr/local/bin

Install kubectl

Make sure you have kubectl installed. You can install kubectl according to the instructions in Install and Set Up kubectl.

Install a Hypervisor

If you do not already have a hypervisor installed, install one of these now:

Hyper-V

VirtualBox

Note: Hyper-V can run on three versions of Windows 10: Windows 10 Enterprise, Windows 10 Professional, and Windows 10 Education.

Install Minikube using Chocolatey

The easiest way to install Minikube on Windows is using Chocolatey (run as an administrator):

choco install minikube

After Minikube has finished installing, close the current CLI session and restart. Minikube should have been added to your path automatically.

Install Minikube using an installer executable

To install Minikube manually on Windows using Windows Installer, download minikube-installer.exe and execute the installer.

Install Minikube via direct download

To install Minikube manually on Windows, download minikube-windows-amd64, rename it to minikube.exe, and add it to your path.

Confirm Installation

To confirm successful installation of both a hypervisor and Minikube, you can run the following command to start up a local Kubernetes cluster:

Note: For setting the --vm-driver with minikube start, enter the name of the hypervisor you installed in lowercase letters where <driver_name> is mentioned below. A full list of --vm-driver values is available in specifying the VM driver documentation.
minikube start --vm-driver=<driver_name>

Once minikube start finishes, run the command below to check the status of the cluster:

minikube status

If your cluster is running, the output from minikube status should be similar to:

host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

After you have confirmed whether Minikube is working with your chosen hypervisor, you can continue to use Minikube or you can stop your cluster. To stop your cluster, run:

minikube stop

Clean up local state

If you have previously installed Minikube, and run:

minikube start

and minikube start returned an error:

machine does not exist

then you need to clear minikube’s local state:

minikube delete

What's next

Feedback