DEV Community

Shiva Charan
Shiva Charan

Posted on

πŸš€ What is Minikube?

  • Minikube is a lightweight tool that lets you run Kubernetes locally on your laptop or workstation.
  • It creates a single-node Kubernetes cluster that behaves almost exactly like a real Kubernetes cluster β€” but without needing cloud resources or multi-node infrastructure.

🧠 Why Do People Use Minikube?

Minikube is mainly used for:

βœ… Learning Kubernetes

You can practice all kubectl commands, create Pods, Deployments, Services, and ConfigMaps β€” all on your machine.

βœ… Local Development

Developers use Minikube to:

  • Test Kubernetes manifests (YAML)
  • Check application behavior before deploying to cloud
  • Debug issues locally

βœ… Running Kubernetes Without Cloud Costs

You don’t need AWS EKS, GKE, AKS, or a cluster of VMs.
Just your laptop + Minikube = full Kubernetes experience.


βš™οΈ How Minikube Works (Simple Explanation)

Minikube runs a VM or container-based node that contains:

  • kube-apiserver
  • kubelet
  • etcd
  • controllers
  • scheduler
  • and all other Kubernetes components

It basically gives you one node that acts as:

  • Master (control plane)
  • Worker (node)

That’s why it’s perfect for learning, testing, and development.


🧩 Minikube Architecture (Simple)

When you run:

minikube start
Enter fullscreen mode Exit fullscreen mode

Minikube:

  1. Creates a single-node Kubernetes cluster
  2. Installs Kubernetes components
  3. Sets up kubectl automatically
  4. Allows you to deploy workloads immediately

πŸ› οΈ Key Features of Minikube

Feature Description
Add-ons Ingress, Metrics Server, Dashboard, Storage Provisioner
Drivers Can run with Docker, VirtualBox, Hyper-V, KVM, VMware
Multi-node Support Can now run multi-node clusters (optional)
LoadBalancer Simulation minikube tunnel simulates cloud LB
Dashboard Built-in Kubernetes Dashboard GUI

πŸ–₯️ Example: Start Minikube and Deploy an App

minikube start

kubectl create deployment myapp --image=nginx

kubectl expose deployment myapp --type=NodePort --port=80

minikube service myapp
Enter fullscreen mode Exit fullscreen mode

This will open your app in a browser using Kubernetes Service networking.


🏁 Summary

Minikube = local Kubernetes made easy.

It’s ideal for beginners, developers, and anyone who wants to learn Kubernetes without cloud cost or complexity.

Top comments (0)