What is Minikube in Kubernetes?
Minikube is a command line interface tool in Kubernetes stack that creates a VM on your local system and also deploys a minimal single node Kubernetes cluster. Minikube is written in Golang. To confirm about it, we can run following command on Linux/Unix systems.
$ strings -20 $(which minikube) | grep Go
This CLI tool allows to perform basic operations like starting, stopping cluster, checking status and so on. It mainly handles bootstrapping of simple cluster. Let’s run some commands with minikube to learn more.
- Check if minikube is installed and it’s version
$ minikube version minikube version: v1.11.0 commit: 57e2f55f47effe9ce396cea42a1e0eb4f611ebbd
- Check if there’s already a minikube cluster created
$ minikube status 🤷 There is no local cluster named "minikube" 👉 To fix this, run: "minikube start"
- Now we will create a new cluster
$ minikube start 😄 minikube v1.11.0 on Ubuntu 18.04 ✨ Automatically selected the docker driver 👍 Starting control plane node minikube in cluster minikube 🔥 Creating docker container (CPUs=2, Memory=3900MB) ... 🐳 Preparing Kubernetes v1.18.3 on Docker 19.03.2 ... ▪ kubeadm.pod-network-cidr=10.244.0.0/16 ❗ This container is having trouble accessing https://k8s.gcr.io 💡 To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/ 🔎 Verifying Kubernetes components... 🌟 Enabled addons: default-storageclass, storage-provisioner 🏄 Done! kubectl is now configured to use "minikube"
- Check status of newly created cluster
$ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured
- See details of cluster in web browser. Below opens the Kubernetes dashboard.
$ minikube dashboard 🔌 Enabling dashboard ... 🤔 Verifying dashboard health ... 🚀 Launching proxy ... 🤔 Verifying proxy health ... 🎉 Opening http://127.0.0.1:34243/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
- Delete the cluster
$ minikube delete 🔥 Deleting "minikube" in docker ... 🔥 Deleting container "minikube" ... 🔥 Removing /home/aryan/.minikube/machines/minikube ... 💀 Removed all traces of the "minikube" cluster.