minikube implements a local Kubernetes cluster on macOS, Linux, and Windows.
minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit. We hope you enjoy it!
- 2019-05-21 - v1.1.0 released! [download] [release notes]
- 2019-04-29 - v1.0.1 released! [download] [release notes]
- 2019-03-27 - v1.0.0 released! [download] [release notes]
minikube runs the official stable release of Kubernetes, with support for standard Kubernetes features like:
- LoadBalancer - using
minikube tunnel
- Multi-cluster - using
minikube start -p <name>
- NodePorts - using
minikube service
- Persistent Volumes
- Ingress
- RBAC
- Dashboard -
minikube dashboard
- Container runtimes -
start --container-runtime
- Configure apiserver and kubelet options via command-line flags
As well as developer-friendly features:
- Addons - a marketplace for developers to share configurations for running services on minikube
- GPU support - for machine learning
- Filesystem mounts
- Automatic failure analysis
minikube is a Kubernetes #sig-cluster-lifecycle project.
-
#minikube on Kubernetes Slack - Live chat with minikube developers!
See the installation guide. For the impatient, here is the TL;DR:
-
macOS 10.12 (Sierra)
-
Windows 10
- Requires a hypervisor, such as VirtualBox (recommended) or HyperV
- VT-x/AMD-v virtualization must be enabled in BIOS
- using chocolatey
choco install minikube
- manually: Download and run the installer
-
Linux
- Requires either the kvm2 driver (recommended), or VirtualBox
- VT-x/AMD-v virtualization must be enabled in BIOS
- manually:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
defaults to virtualbox, but supports other drivers using the --vm-driver
argument:
- KVM2 - Recommended Linux driver
- hyperkit - Recommended macOS driver
- virtualbox - Recommended Windows driver
- none - bare-metal execution on Linux, at the expense of system security and reliability
Other drivers which are not yet part of our continuous integration system are:
Start a cluster by running:
minikube start
Access Kubernetes Dashboard within Minikube:
minikube dashboard
Once started, you can interact with your cluster using kubectl
, just like any other Kubernetes cluster. For instance, starting a server:
kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
Exposing a service as a NodePort
kubectl expose deployment hello-minikube --type=NodePort
minikube makes it easy to open this exposed endpoint in your browser:
minikube service hello-minikube
Start a second local cluster:
minikube start -p cluster2
Stop your local cluster:
minikube stop
Delete your local cluster:
minikube delete