Minikube runs a single-node Kubernetes cluster inside a virtual machine on local computer for users looking to try out Kubernetes or develop with it day-to-day.
Minikube can be installed on Linux, Windows and Mac.
On Linux, download the binary from the repository and add the execution right to it.
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& sudo install minikube-linux-amd64 /usr/local/bin/minikube
Chocolatey is a command line application installer for Windows. It adds, updates, and uninstalls programs in the background requiring very little user interaction.
To install Minikube on Windows with Chocolatey, run these commands as administrator.
choco install minikube
choco install kubernetes-cli
Homebrew is a package manager for macOS that can be used to install Minikube by following these steps.
brew cask install minikube
brew install kubernetes-cli
Once Minikube is installed, each configuration files can be found in the home directory :
Simply start Minikube with all the default options or restart a stopped Minikube cluster.
This command can be customized with external parameters explain in the next sections.
Depending on the operating system, the provider used to start the Kubernetes virtual machine can be changed in command line at the first starting boot. When it's done, a virtual machine will be created locally on the desired provider.
VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. It can be installed on Linux, Windows and Mac operating system.
When it's done, just run these command to run Minikube locally.
minikube start --vm-driver virtualbox
Microsoft Hyper-V (formerly known as Windows Server Virtualization), is a native hypervisor; it can create virtual machines on x86-64 systems running Windows. It has to enable on Windows operating system to run the Minikube instance locally.
When it's done, just start Minikube by specifiying the desired VM driver.
minikube start --vm-driver hyperv
It can be useful for some reasons to deploy a specific Kubernetes version. This can be done at the first boot time of the Minikube cluster in command line.
minikube start --kubernetes-version="v1.12.0"
The Kubernetes versions available can be displayed with a getting command explain below.
The default Minikube flavor can be updated at the first boot by giving arguments at the command line.
minikube start --memory 5120 --cpus=4
Stopping Minikube will not destroy the virtual machine created, it just gonna stop it.
Deleting Minikube will gonna destroyed the virtual machine created at the first boot of the cluster. This will not affect the local configuration file of Kubectl.
Once Minikube cluster is up and running, it can be useful to get information about the Kubernetes node.
Getting the Minikube version.
Getting the Kubernetes versions available.
Getting the status of the Minikube cluster.
Getting the public IP of the cluster to be able to work with the deployed resources.
Getting the Minikube URL of a service already deployed in the cluster.
minikube service --url=true SERVICE_NAME
Once the Minikube cluster is up and running, it can be useful to connect to the node with SSH to manage some Kubernetes resources.
Minikube automatically deployed the Kubernetes dashboard when a cluster is bootstrapped. The minikube command line can automatically open it in the default Web browser on port 8001.
Once the Minikube cluster is up and running, it may be updated in command line.
For debug purpose, it can be interesting to read the Minikube logs.
Some add-ons exist to automatically deploy some useful principles in a Kubernetes cluster to easily managed it.
The Minikube add-ons installation has to be made in command line.
minikube addons enable ADDONS_NAME
Getting a exhaustive list of the available add-ons in Minikube.
minikube addons list
To go further in the management of Minikube, please refer to these documentations :