Skip to main content

Minikube

https://minikube.sigs.k8s.io/docs/

CLI commands: https://minikube.sigs.k8s.io/docs/commands/

Tutorial: https://kubernetes.io/docs/tutorials/hello-minikube/

The configuration is located at ~/.kube/config.

Install

Install it with Brew: brew install minikube. This installs kubernetes-cli (kubectl) as a dependency.

Also see the FAQs:

Do I need to install kubectl locally?

No, minikube comes with a built-in kubectl installation. See minikube’s kubectl documentation.

But you need to do minikube kubectl -- <kubectl commands> to use it.

Push images

Pushing images - https://minikube.sigs.k8s.io/docs/handbook/pushing/

Push images from Docker to minikube’s registry - https://minikube.sigs.k8s.io/docs/handbook/registry/#docker-on-macos

docker-env

Docs: https://minikube.sigs.k8s.io/docs/commands/docker-env/

Point your terminal's Docker CLI to the Docker instance inside minikube (source):

eval $(minikube -p minikube docker-env)

Note that you need to run minikube start before.

To unset run:

eval $(minikube docker-env --unset)

Usage

Start a local Kubernetes cluster:

minikube start
minikube start --nodes 3

To change the number of nodes for an existing cluster use minikube node add. Or delete the cluster (minikube delete) and create it again (minikube start --nodes 3).

minikube dashboard
minikube stop

Delete your local cluster:

minikube delete

Delete all local clusters and profiles:

minikube delete --all

To run commands like docker ps, SSH into minikube:

minikube ssh
docker build -t my-app:1 --file Dockerfile-prod .
docker ps
exit

When you have a service of type LoadBalancer or NodePort, make the app available with:

minikube service my-service

This opens a browser. Alternatively, use kubectl to forward the port:

kubectl port-forward service/my-service 7080:8080

The app is available at http://localhost:7080/. See Accessing apps.

List the services:

minikube service list

Addons

https://kubernetes.io/docs/concepts/cluster-administration/addons/

minikube addons list

Metrics server:

minikube addons enable metrics-server

Automatically pause Kubernetes after a certain amount of inactivity:

minikube addons enable auto-pause