Playing with Minikube
Dreaming of Kubernetes? You can start small. Enter Minikube, a tool that makes it easy to run Kubernetes as a single-node cluster inside a virtual machine and on common desktop platforms.

Minikube is a very convenient tool for users looking to try out Kubernetes, or develop with it day-to-day.
For the most recent information on Minikube see the Running Kubernetes Locally via Minikube tutorial.
Overview
The major components of a complete Minikube installation are:
- hypervisor
kubectl
- Minikube
Hypervisor
Minikube requires a hypervisor. Depending on your OS platform you may install your hypervisor of choice. By default Minikube requires VirtualBox as its hypervisor. Discussing the pros and cons of various hypervisors is beyond the scope of this article. Here are the Minikube supported hypervisors, based on OS platform.
VirtualBox | VMware Fusion | HyperKit
On Mac OS X my hypervisor of choice is VMware Fusion and I'll show how to configure Minikube with the related hypervisor driver (in the Minikube Configuration section of this article).
kubectl
kubectl
is a CLI tool for interacting with a Kubernetes cluster manager.
For the most recent information on how to install kubectl
see the Install and Set Up kubectl tutorial.
TBD
On Mac OS X kubectl
and kubernetes-cli
are used interchangeably. You need Homebrew to install the required package(s).
Install the kubectl
CLI:
brew install kubectl
To upgrade your existing kubectl
installation:
brew upgrade kubectl
Test kubectl
(see the Troubleshooting section if you encounter errors):
kubectl version
TBD
Minikube
You need a hypervisor installed before proceeding with the Minikube installation. See the Hypervisor section for more information.
For the most recent information on how to setup Minikube see the Install Minikube tutorial.
TBD
You need Homebrew to install the required package(s).
Install minikube
:
brew install minikube
To upgrade your existing minikube
installation:
brew upgrade minikube
Test minikube
(see the Troubleshooting section if you encounter errors):
minikube version
minikube status
TBD
Configuration
This section focuses on Minikube configuration settings, some of them subject to performance tuning.
vm-driver
The vm-driver
configuration attribute specifies the hypervisor used by Minikube. To list the current hypervisor driver used by Minikube, run the following (or similar) command:
cat ~/.minikube/machines/minikube/config.json | jq '.DriverName'
The default hypervisor driver installed with Minikube is virtualbox
. This requires of course to have VirtualBox installed on your system (before installing Minikube). Depending on the hypervisor of choice one could set a different vm-driver
for Minikube. If the preferred hypervisor is VMware Fusion (e.g. on Mac OS X), here are the steps for changing the related Minikube configuration:
minikube config set vm-driver vmwarefusion
minikube delete
minikube start
Of course, for the configuration change above to work, one should have VMware Fusion installed (e.g. on Mac OS X).
Troubleshooting
This section describes certain error conditions and how to remedy them, when running Minikube.
kubectl: Unable to connect to the server
You may get this error message with an arbitrary kubectl
command (e.g. kubectl version
) if Minikube is not running (or started). Check the running status of Minikube:
minikube status
If Minikube is running, the command above would have an output similar to:
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100
Otherwise you can try to start Minikube:
minikube start