05-Install-minikube-on-Mac
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 macOS
Step 1 — Install Docker Desktop
Download Docker Desktop for Mac from docker.com and install it. Make sure to choose the correct version — Apple Silicon (M1/M2/M3) or Intel depending on your Mac.
# Verify Docker is running
docker version
Step 2 — Install kubectl
Option A — Using Homebrew (recommended):
brew install kubectl
Option B — Manual download for Apple Silicon (M1/M2/M3):
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl
Option C — Manual download for Intel Mac:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl
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 Homebrew (recommended):
brew install minikube
Option B — Manual download for Apple Silicon:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube
Option C — Manual download for Intel Mac:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
Verify Minikube:
minikube version
Step 4 — Start Your Cluster
minikube start --driver=docker
😄 minikube v1.32.0 on Darwin 14.0 (arm64)
✨ 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
Step 5 — Verify Everything Works
minikube status
kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 90s v1.28.3
minikube start --driver=docker --no-vtx-check. Most Kubernetes images now have ARM64 support.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.