Meet Minikube, a way to run a single-node Kubernetes cluster inside a VM.

Minikube is the quickest way to quickly test Helm charts and other Kubernetes deployment methods locally. Minikube is described in the official docs as:

[…] a tool that makes it easy to run Kubernetes locally. Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

This tutorial will show you how to get this running on your laptop.

Getting started

First things first: to install Minikube, you’ll need Virtualbox (or another virtualization option) and then follow instructions for your operating system. It’s a simple Go executable and it can easily be downloaded and run.

For example, on Linux:

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

To make use of the mini Kubernetes cluster you’ll also need kubectl, the command-line tool used to deploy and manage applications on Kubernetes. With kubectl, you can inspect cluster resources; create, delete and update components; and look at your new cluster and bring up example apps. The installation instructions are available for most operating systems.

One last thing to install is Helm, the Kubernetes package manager. The instructions for installing Helm are easy to follow. Once Minikube, kubectl, and Helm are installed, start Minikube: you can specify a K8s version and how much RAM to dedicate to the cluster.   Then enable the Minikube ingress addon for communication.

$ minikube start --kubernetes-version=v1.9.0 --memory 4096
$ minikube addons enable ingress

Once you’ve got Minikube started, you can run the Helm initialization.

$ helm init --wait

Your tiny cluster is now ready to run.

About the author

Stefano Maffulli is currently director of  community marketing at Scality where he is leading the efforts to bring Zenko, the open source multi-cloud controller, to developers around the world. Long an open-source advocate, he has previously worked at the OpenStack Foundation and the Free Software Foundation Europe.