03-Install-minikube-on-Windows
Learn what Minikube is and how to install it on Windows, Mac, and Linux to run a local Kubernetes cluster for development and learning.
Prerequisites (All Platforms)
Before installing Minikube, make sure your machine meets these requirements:
- CPU: 2 cores or more
- RAM: 2 GB free memory or more (4 GB recommended)
- Disk: 20 GB free disk space
- Internet: Required only for the initial download
- Virtualization: Must be enabled in BIOS/UEFI (most modern machines have this on by default)
- Docker Desktop (recommended driver): Install from docker.com
grep -c -E 'vmx|svm' /proc/cpuinfo — any number above 0 means it’s supported.Installing on Windows
Step 1 — Install Docker Desktop
Minikube’s recommended driver on Windows is Docker. Download and install Docker Desktop from the official site, then start it and wait for the whale icon to appear in your system tray showing it’s running.
# Verify Docker is running
docker version
Step 2 — Install kubectl
kubectl is the Kubernetes CLI. Install it using one of these methods:
Option A — Using winget (Windows Package Manager):
winget install -e --id Kubernetes.kubectl
Option B — Using Chocolatey:
choco install kubernetes-cli
Option C — Manual download:
# Download the latest kubectl binary
curl.exe -LO "https://dl.k8s.io/release/v1.29.0/bin/windows/amd64/kubectl.exe"
# Move it to a folder in your PATH
mkdir C:\kubectl
move kubectl.exe C:\kubectl\
Then add C:\kubectl to your system PATH:
- Search “Environment Variables” in Start Menu
- Click “Environment Variables”
- Under System Variables, find
Path→ Edit → New - Add
C:\kubectland click OK
Verify kubectl:
kubectl version --client
Client Version: v1.29.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Step 3 — Install Minikube
Option A — Using winget:
winget install -e --id Kubernetes.minikube
Option B — Using Chocolatey:
choco install minikube
Option C — Manual installer:
Download the Minikube Windows installer from the official releases page and run the .exe file.
Verify Minikube:
minikube version
minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512
Step 4 — Start Your Cluster
minikube start --driver=docker
You’ll see output like this:
😄 minikube v1.32.0 on Windows 11
✨ Using the docker driver based on user configuration
📌 Using Docker Desktop driver with root privileges
👍 Starting control plane node minikube in cluster minikube
🚜 Pulling base image ...
🔥 Creating docker container (CPUs=2, Memory=4096MB) ...
🐳 Preparing Kubernetes v1.28.3 on Docker 24.0.7 ...
🔗 Configuring bridge CNI (Container Networking Interface) ...
🔎 Verifying Kubernetes components...
🌟 Enabled addons: storage-provisioner, default-storageclass
🏄 Done! kubectl is now configured to use "minikube" cluster
minikube start downloads the base Kubernetes image (~500 MB). Subsequent starts are much faster since the image is cached locally.Step 5 — Verify Everything Works
# Check cluster status
minikube status
# Check nodes
kubectl get nodes
# Open the Kubernetes Dashboard (optional)
minikube dashboard
Expected output:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 2m v1.28.3
Essential Minikube Commands
Once your cluster is running, here are the commands you’ll use daily:
# Start cluster
minikube start
# Stop cluster (saves state)
minikube stop
# Delete cluster completely
minikube delete
# Check cluster status
minikube status
# Open Kubernetes Dashboard in browser
minikube dashboard
# Get cluster IP
minikube ip
# SSH into the Minikube node
minikube ssh
# View Minikube logs
minikube logs
# Pause cluster (free up CPU/RAM without deleting)
minikube pause
# Resume paused cluster
minikube unpause
Useful Startup Flags
# Start with more resources
minikube start --cpus=4 --memory=8192
# Start with a specific Kubernetes version
minikube start --kubernetes-version=v1.27.0
# Start with a specific driver
minikube start --driver=virtualbox
# Start with multiple nodes (simulate real cluster)
minikube start --nodes=3
Enable Useful Add-ons
Minikube comes with built-in add-ons you can enable with one command:
# See all available add-ons
minikube addons list
# Enable the Kubernetes Dashboard
minikube addons enable dashboard
minikube addons enable metrics-server
# Enable Ingress controller (for routing HTTP traffic)
minikube addons enable ingress
# Enable a private image registry
minikube addons enable registry
metrics-server from the start — it powers kubectl top pods and kubectl top nodes, which show CPU and memory usage. You’ll use these constantly when debugging.Configuring kubectl for Minikube
When you run minikube start, it automatically configures kubectl to point to your Minikube cluster by updating ~/.kube/config. You don’t need to do anything extra.
# Verify kubectl is pointing to minikube
kubectl config current-context
minikube
# If you have multiple clusters, switch to minikube explicitly
kubectl config use-context minikube
# View all configured clusters
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* minikube minikube minikube default
Troubleshooting Common Issues
Issue 1 — minikube start fails with “docker not found”
# Make sure Docker is running
docker ps
# If docker command not found, restart your terminal or run
newgrp docker # Linux only
Issue 2 — Not enough resources
# Reduce memory requirement
minikube start --memory=2048 --cpus=2
Issue 3 — Cluster stuck in “Starting” state
# Delete and recreate
minikube delete
minikube start
Issue 4 — kubectl commands return “connection refused”
# Check if minikube is actually running
minikube status
# If stopped, start it
minikube start
# Re-configure kubectl context
minikube update-context
Issue 5 — Windows Hyper-V conflict with Docker
# Disable Hyper-V if using VirtualBox as driver
bcdedit /set hypervisorlaunchtype off
# Restart your computer after this
minikube delete first. Changing the driver without deleting the old cluster causes cryptic errors.