What is Minikube?
Before Minikube let's do a quick intro to Kubernetes.
Kubernetes is an open-source software use to scale, automate and deploy the application by dividing your application into smaller feature units.
For example, an Instagram application can be divided into smaller feature units like Story feature/Service, Posts feature/Service, Comments feature/Service, Like feature/Service.
In the Production Kubernetes setup (Which is deployed on the cloud where there’s lots of resource CPU/RAM/STORAGE)
Kubernetes manage the apps by running them in a pod within a docker container.
That pod runs inside the worker node.
we can have multiple master nodes who command to create and delete pods in Multiple worker nodes.
worker nodes who do the work of running your application.
But how to give commands to the master node?
The master node consists of 4 features, one of which is the Kubernetes command-line tool, kubectl which allows you to run commands against Kubernetes clusters.
But what if you want this environment for you locally to build your application?
This is where Minikube gets into the picture.
Minikube is a tool that runs on VM which runs on Host OS.
Minikube runs a single-node Kubernetes cluster on your personal computer
1 K8s Node.
This Node does both the work of master node (To deploy, run the pods in the Node) and Worker Node
By installing Kubectl into the node we can interact with our Node to
Create, automate and delete pods.
Kubectl also checks the health of pods. Even if the pods are deleted it will re-create the pod as configured.