What is Minikube?
Minikube is a simple to use local virtual environment (and simple shell
) that runs a small, dedicated Kubernetes cluster locally on (Mac/Windows/Linux).
Figure 1-1. Minikube Local Environment
Installation instructions are available online, or you can use brew install minikube
, if you are running on MacOS.
The Basics
Once installed there are only a small handful of commands needed to operate minikube effectively. The following commands can be run in your terminal of choice.
minikube start
Simply spins up a local single-node Kubernetes cluster and downloads and installs any additional dependencies on your behalf.
minikube start
By default, the minikube virtual machine starts up with 2 (CPU) cores and 2gb of (RAM) memory. There are many options that allow you to customize your installation and specify how the K8s cluster will operate. For example, you can choose the version of K8s, the total memory to allocate to the virtual machine, as well as the number of cpu cores.
Customizing the Minikube Virtual Machine
minikube start \
--kubernetes-version v1.21.2 \
--memory 16g \
--cpus 4 \
--disk-size 80g
When you are ready to stop working, you can choose to keep the virtual machine running and simply pause
the processes within the k8s cluster, or you can choose to fully stop
the cluster and reclaim your system resources.
minikube pause
Pause is a novel concept in minikube. Rather than fully shutting down your cluster, you can choose to pause (freeze) specific resources (governed by namespaces) or pause everything that is running. Pausing specific resources for example like local Kafka or Redis can help when you need to see how your applications will act when a service is lost.
Pause all Pods
minikube pause -A
Pause Specific Pods
minikube pause -n kafka,redis
minikube unpause
Any containers paused at a prior point in time can be unpaused.
minikube unpause -n kafka, redis
Using pause
and unpause
can be a life saver if you have limited local system resources, and as an added benefit provides you with a simple mechanism to return to a specific environment setup, like for example how docker compose
is used to spin up specific runtime environments as a slice over Docker. Given Kubernetes maintains the state of the processes running within it, minikube simply snapshots things and frees up your cluster resources (within the virtual machine) when you no longer need to run a specific set of Pods and Containers.
minikube stop
When you decide you want to simply stop everything and shutdown the physical virtual machine just use the stop command.
minikube stop
That concludes the quick tour of the minikube basics. Come back here if you need to revisit any of the basic commands.
Note:
minikube delete
can be used to clear everything but deleting the underlying virtual machine. Use this with caution since any changes made to the underlying K8s node (minikube node) will be wiped out as well.
Enjoy.
Top comments (0)