minikube start

minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes.

All you need is Docker (or similarly compatible) container or a Virtual Machine environment, and Kubernetes is a single command away: minikube start

What you’ll need

1Installation

For Linux users, we provide 3 easy download options (for each architecture):

amd64 / x86_64

Binary download

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
  2. sudo install minikube-linux-amd64 /usr/local/bin/minikube

Debian package

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
  2. sudo dpkg -i minikube_latest_amd64.deb

RPM package

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
  2. sudo rpm -ivh minikube-latest.x86_64.rpm

arm64 / aarch64

Binary download

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-arm64
  2. sudo install minikube-linux-arm64 /usr/local/bin/minikube

Debian package

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_arm64.deb
  2. sudo dpkg -i minikube_latest_arm64.deb

RPM package

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.aarch64.rpm
  2. sudo rpm -ivh minikube-latest.aarch64.rpm

If the Brew Package Manager installed:

  1. brew install minikube

If which minikube fails after installation via brew, you may have to remove the old minikube links and link the newly installed binary:

  1. brew unlink minikube
  2. brew link minikube

Otherwise, download minikube directly:

x86

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
  2. sudo install minikube-darwin-amd64 /usr/local/bin/minikube

ARM

  1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
  2. sudo install minikube-darwin-arm64 /usr/local/bin/minikube

Windows Package Manager

If the Windows Package Manager is installed, use the following command to install minikube:

  1. winget install minikube

Chocolatey

If the Chocolatey Package Manager is installed, use the following command:

  1. choco install minikube

Stand-alone Windows Installer

Otherwise, download and run the Windows installer

If you used a CLI to perform the installation, you will need to close that CLI and open a new one before proceeding.

2Start your cluster

From a terminal with administrator access (but not logged in as root), run:

  1. minikube start

If minikube fails to start, see the drivers page for help setting up a compatible container or virtual-machine manager.

3Interact with your cluster

If you already have kubectl installed, you can now use it to access your shiny new cluster:

  1. kubectl get po -A

Alternatively, minikube can download the appropriate version of kubectl, if you don’t mind the double-dashes in the command-line:

  1. minikube kubectl -- get po -A

Initially, some services such as the storage-provisioner, may not yet be in a Running state. This is a normal condition during cluster bring-up, and will resolve itself momentarily. For additional insight into your cluster state, minikube bundles the Kubernetes Dashboard, allowing you to get easily acclimated to your new environment:

  1. minikube dashboard

4Deploy applications

Create a sample deployment and expose it on port 8080:

  1. kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
  2. kubectl expose deployment hello-minikube --type=NodePort --port=8080

It may take a moment, but your deployment will soon show up when you run:

  1. kubectl get services hello-minikube

The easiest way to access this service is to let minikube launch a web browser for you:

  1. minikube service hello-minikube

Alternatively, use kubectl to forward the port:

  1. kubectl port-forward service/hello-minikube 7080:8080

Tada! Your application is now available at http://localhost:7080/

LoadBalancer deployments

To access a LoadBalancer deployment, use the “minikube tunnel” command. Here is an example deployment:

  1. kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4
  2. kubectl expose deployment balanced --type=LoadBalancer --port=8080

In another window, start the tunnel to create a routable IP for the ‘balanced’ deployment:

  1. minikube tunnel

To find the routable IP, run this command and examine the EXTERNAL-IP column:

  1. kubectl get services balanced

Your deployment is now available at <EXTERNAL-IP>:8080

5Manage your cluster

Pause Kubernetes without impacting deployed applications:

  1. minikube pause

Halt the cluster:

  1. minikube stop

Increase the default memory limit (requires a restart):

  1. minikube config set memory 16384

Browse the catalog of easily installed Kubernetes services:

  1. minikube addons list

Create a second cluster running an older Kubernetes release:

  1. minikube start -p aged --kubernetes-version=v1.16.1

Delete all of the minikube clusters:

  1. minikube delete --all

Take the next step


Last modified March 21, 2021: adding a note to restart the windows shell after installation (d35370fb9)