Comprehensive guide8 min read

Install Kubernetes Locally: Complete Guide with Minikube, Kind and K3d

SFEIR Institute

Key Takeaways

  • K3d starts a complete cluster in 15-30 seconds versus 60-90 seconds for Minikube
  • Minikube for beginners, Kind for CI/CD, K3d for performance

Are you starting with Kubernetes and want to install a cluster on your machine? This local Kubernetes installation tutorial guides you step by step through three major tools: Minikube, Kind, and K3d. According to the CNCF Annual Survey 2025, 82% of container users run Kubernetes in production. Familiarize yourself with these local environments to experiment safely before deploying to production clusters.

TL;DR: Minikube suits beginners with its simple interface, Kind excels for CI/CD testing, K3d offers the best performance. Choose based on your use case: learning, development, or multi-node simulation.

This skill is at the heart of the LFS458 Kubernetes Administration training.

What is a Local Kubernetes Cluster and Why Use It?

A local Kubernetes cluster is a Kubernetes installation running entirely on your workstation. This approach lets you learn, test, and develop without expensive cloud infrastructure.

A local cluster gives you the freedom to experiment without consequences on a production environment.

Minikube is a tool that creates a single-node Kubernetes cluster in a virtual machine or container on your local machine. Kind (Kubernetes IN Docker) is a tool that runs Kubernetes nodes as Docker containers. K3d is a wrapper that deploys K3s, a lightweight Kubernetes distribution, in Docker containers.

Remember: A local cluster consumes between 2 GB and 8 GB of RAM depending on the tool chosen. Check your resources before installation.

To explore fundamental concepts, consult our Kubernetes Training: Complete Guide.

What Are the Prerequisites for Installing Kubernetes Locally?

Before starting your installation, verify that your system meets the following requirements. These prerequisites apply whether you're a Kubernetes infrastructure engineer, Kubernetes system administrator, or Kubernetes Cloud Operations engineer.

Minimum Hardware Configuration

ComponentMinikubeKindK3d
CPU2 cores2 cores1 core
RAM4 GB4 GB2 GB
Disk20 GB10 GB5 GB

Required Software

Install Docker on your system. In 2026, Docker Desktop 4.37+ or Docker Engine 26+ are recommended:

# Check your Docker version
docker --version
# Expected output: Docker version 26.1.4, build 5650f9b

Install kubectl, the CLI tool for interacting with Kubernetes:

# macOS with Homebrew
brew install kubectl

# Linux
curl -LO "https://dl.k8s.io/release/v1.32.0/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

# Verification
kubectl version --client
# Output: Client Version: v1.32.0

According to the official Kubernetes 1.32 documentation, kubectl should match ±1 minor version of your cluster.

How to Install Minikube Step by Step?

Minikube remains the most accessible tool for getting started with Kubernetes. It supports multiple drivers: Docker, VirtualBox, Hyper-V, and more.

Step 1: Download and Install Minikube

Run these commands according to your operating system:

# macOS
brew install minikube

# Linux (x86-64)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

# Windows (PowerShell admin)
choco install minikube

Step 2: Start Your First Cluster

Launch Minikube with the Docker driver for optimal performance:

minikube start --driver=docker --kubernetes-version=v1.32.0

# Expected output:
# 🎉  minikube v1.35.0 on Darwin 14.5
# ✨  Using the docker driver based on user configuration
# 🔥  Creating docker container (CPUs=2, Memory=4096MB)
# 🐳  Preparing Kubernetes v1.32.0 on Docker 26.1.4
# 🏄  Done! kubectl is now configured to use "minikube" cluster

Step 3: Verify the Installation

Confirm that your cluster is working correctly:

kubectl cluster-info
# Output: Kubernetes control plane is running at https://127.0.0.1:55000

kubectl get nodes
# Output: minikube   Ready    control-plane   2m   v1.32.0
Remember: Minikube includes a built-in dashboard. Launch it with minikube dashboard to visualize your resources.

To go further with your first deployments, follow our guide Deploy your first Kubernetes pod in 15 minutes.

How to Install Kind for Your CI/CD Tests?

Kind excels in CI/CD pipelines. According to Kubernetes SIG Testing, Kind has been used for end-to-end testing of the Kubernetes project itself since 2018.

Step 1: Install Kind

Download Kind via your package manager:

# macOS / Linux with Homebrew
brew install kind

# Linux direct binary
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.25.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

# Verification
kind version
# Output: kind v0.25.0 go1.23.0 linux/amd64

Step 2: Create a Single-Node Cluster

Start a basic cluster in one command:

kind create cluster --name my-dev-cluster

# Expected output:
# Creating cluster "my-dev-cluster" ...
#  ✓ Ensuring node image (kindest/node:v1.32.0) 🖼
#  ✓ Preparing nodes 📦
#  ✓ Writing configuration 📜
#  ✓ Starting control-plane 🕹️
#  ✓ Installing CNI 🔌
#  ✓ Installing StorageClass 💾
# Set kubectl context to "kind-my-dev-cluster"

Step 3: Create a Multi-Node Cluster

To simulate a production environment, create a configuration file kind-config.yaml:

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
- role: worker

Apply this configuration:

kind create cluster --name cluster-prod --config kind-config.yaml

kubectl get nodes
# Output:
# cluster-prod-control-plane   Ready   control-plane   45s   v1.32.0
# cluster-prod-worker          Ready   <none>          20s   v1.32.0
# cluster-prod-worker2         Ready   <none>          20s   v1.32.0

This multi-node configuration prepares you for certification exams. Discover Kubernetes Tutorials and Practical Guides to deepen your skills.

How to Install K3d for Ultra-Lightweight Clusters?

K3d deploys K3s, Rancher's CNCF-certified Kubernetes distribution. According to Rancher Labs (2024), K3s consumes 50% less memory than standard Kubernetes.

Step 1: Install K3d

Run the official installation script:

# Installation via script
curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash

# Or via Homebrew
brew install k3d

# Verification
k3d version
# Output: k3d version v5.8.0

Step 2: Create a K3d Cluster

Launch a cluster with port exposure for Ingress:

k3d cluster create dev-cluster \
--servers 1 \
--agents 2 \
--port "8080:80@loadbalancer"

# Expected output:
# INFO[0000] Prep: Network
# INFO[0000] Created network 'k3d-dev-cluster'
# INFO[0001] Created node 'k3d-dev-cluster-server-0'
# INFO[0001] Created node 'k3d-dev-cluster-agent-0'
# INFO[0001] Created node 'k3d-dev-cluster-agent-1'
# INFO[0005] Cluster 'dev-cluster' created successfully!

Step 3: Configure kubectl Access

Verify that kubectl points to your new cluster:

kubectl config current-context
# Output: k3d-dev-cluster

kubectl get nodes -o wide
# Output:
# NAME                       STATUS   ROLES                  VERSION
# k3d-dev-cluster-server-0   Ready    control-plane,master   v1.31.2+k3s1
# k3d-dev-cluster-agent-0    Ready    <none>                 v1.31.2+k3s1
# k3d-dev-cluster-agent-1    Ready    <none>                 v1.31.2+k3s1
Remember: K3d starts a complete cluster in less than 30 seconds. Use it for your rapid development cycles.

To configure your cluster network, consult NetworkPolicies Quick Reference: Control Kubernetes Network Traffic.

Which Tool to Choose Based on Your Use Case?

Your choice depends on your professional goals and technical context.

CriterionMinikubeKindK3d
Startup time60-90s30-45s15-30s
Minimum RAM4 GB4 GB2 GB
Multi-nodeLimitedExcellentExcellent
CI/CDMediumOptimalVery good
Built-in addonsNumerousBasicTraefik included
Learning curveEasyMediumMedium

Choose Minikube if you're starting out and want an environment with dashboard and ready-to-use addons.

Opt for Kind if you work on CI/CD pipelines or test complex multi-node configurations.

Prefer K3d if you have limited resources or need ultra-fast development cycles.

To evaluate other practice platforms, read Our Review of the Best Kubernetes Labs Platforms for Training.

How to Resolve Common Installation Problems?

You'll probably encounter these errors during your first installations. Identify and fix them quickly.

Docker Daemon Not Accessible

# Error: Cannot connect to Docker daemon
# Solution: Start Docker and check permissions
sudo systemctl start docker
sudo usermod -aG docker $USER
# Log out and log back in

Insufficient Memory

# Error: Exiting due to MK_USAGE: memory 2048MB is below minimum 4096MB
# Solution for Minikube: Reduce required RAM
minikube start --memory=3072

Port Conflict

# Error: Port 80 already in use
# Solution for K3d: Use another port
k3d cluster create test --port "8888:80@loadbalancer"

Cluster Won't Start

Delete and recreate your cluster to start fresh:

# Minikube
minikube delete && minikube start

# Kind
kind delete cluster --name my-cluster && kind create cluster

# K3d
k3d cluster delete dev-cluster && k3d cluster create dev-cluster

Consult the Kubernetes Training Topic Map to navigate to other troubleshooting resources.

How to Validate Your Installation with a Test Deployment?

Confirm that your cluster works by deploying a simple application:

# Create an nginx deployment
kubectl create deployment nginx-test --image=nginx:1.27

# Expose it via a service
kubectl expose deployment nginx-test --port=80 --type=NodePort

# Check the status
kubectl get pods,svc
# Expected output:
# NAME                              READY   STATUS    RESTARTS   AGE
# pod/nginx-test-7c79c4bf97-x2lkj   1/1     Running   0          30s
#
# NAME                 TYPE        CLUSTER-IP      PORT(S)
# service/nginx-test   NodePort    10.96.123.45    80:31234/TCP

Test access according to your tool:

# Minikube
minikube service nginx-test --url

# Kind / K3d
kubectl port-forward svc/nginx-test 8080:80
# Open http://localhost:8080 in your browser

This validation confirms that your environment is ready for more complex deployments. Explore Configure a Kubernetes Ingress Controller Step by Step: Nginx and Traefik for next steps.

Move to the Next Step: From Installation to Mastery

You've installed a functional local Kubernetes cluster. This foundation allows you to practice essential concepts: Pods, Deployments, Services, ConfigMaps. SFEIR certification training guides you toward complete mastery.

For infrastructure engineers and system administrators, the LFS458 Kubernetes Administration training (4 days) prepares you for CKA certification with intensive multi-node cluster labs.

Application developers will find in the LFD459 Kubernetes for Developers training (3 days) the skills to deploy and manage containerized applications.

Discover upcoming sessions on our training calendar, or consult our Kubernetes Deployment and Production section for the next steps in your journey.