What is Minikube?
Minikube is 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.
brew cask install minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Download the minikube-windows-amd64.exe file, rename it to
minikube.exe and add it to your path
Other ways to install:
We also released a Debian package and Windows installer on our releases page If you maintain a minikube package, please feel free to add it here.
- VT-x/AMD-v virtualization must be enabled in BIOS
- Internet connection on first run
Here’s a brief demo of minikube usage.
If you want to change the VM driver add the appropriate
--vm-driver=xxx flag to
minikube start. Minikube Supports
the following drivers:
$ minikube start Starting local Kubernetes v1.6.0 cluster... Starting VM... SSH-ing files into VM... Setting up certs... Starting cluster components... Connecting to cluster... Setting up kubeconfig... Kubectl is now configured to use the cluster. $ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080 deployment "hello-minikube" created $ kubectl expose deployment hello-minikube --type=NodePort service "hello-minikube" exposed # We have now launched an echoserver pod but we have to wait until the pod is up before curling/accessing it # via the exposed service. # To check whether the pod is up and running we can use the following: $ kubectl get pod NAME READY STATUS RESTARTS AGE hello-minikube-3383150820-vctvh 1/1 ContainerCreating 0 3s # We can see that the pod is still being created from the ContainerCreating status $ kubectl get pod NAME READY STATUS RESTARTS AGE hello-minikube-3383150820-vctvh 1/1 Running 0 13s # We can see that the pod is now Running and we will now be able to curl it: $ curl $(minikube service hello-minikube --url) CLIENT VALUES: client_address=192.168.99.1 command=GET real path=/ ... $ minikube stop Stopping local Kubernetes cluster... Machine stopped.
Interacting With your Cluster
minikube start command creates a “kubectl context” called “minikube”.
This context contains the configuration to communicate with your minikube cluster.
Minikube sets this context to default automatically, but if you need to switch back to it in the future, run:
kubectl config use-context minikube,
or pass the context on each command like this:
kubectl get pods --context=minikube.
To access the Kubernetes Dashboard, run this command in a shell after starting minikube to get the address:
To access a service exposed via a node port, run this command in a shell after starting minikube to get the address:
minikube service [-n NAMESPACE] [--url] NAME
For more information about minikube, see the proposal.