Local Lightweight
Local & Lightweight Kubernetes Clusters¶
Minikube · Kind · K3s
Lab Environment Only
This tool is intended for ephemeral, short-lived lab environments and is not hardened for production use.
System Requirements
This script is designed for Ubuntu LTS and derivatives (Linux Mint, Pop!_OS). Other distributions (RHEL, Fedora, Debian, ARM) are not supported.
🧭 Overview¶
This section covers all methods for running Kubernetes locally for:
- Learning
- Labs
- Testing
- CI environments
- Disposable cluster experimentation
These cluster types are not for production. They are designed to be small, fast, and easy to rebuild.
This guide includes the three most widely used local cluster tools:
- Minikube
- Kind (Kubernetes-in-Docker)
- K3s (Lightweight Kubernetes by Rancher)
Each tool comes with a simple one-line command to help you spin up a cluster quickly.
🧊 1. Minikube¶
Minikube is the most common tool for local Kubernetes.
Install Minikube¶
(If not already installed)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
Start a Cluster¶
minikube start --driver=docker
Check Status¶
minikube status
Minikube automatically deploys a CNI, kubelet, scheduler, and controller manager internally.
🐳 2. Kind (Kubernetes in Docker)¶
Kind runs Kubernetes inside Docker containers. It is clean, fast, ephemeral, and perfect for labs.
To create a Kind cluster, infra-bootstrap provides two configurations:
A) Kind with Calico CNI¶
curl -sL https://raw.githubusercontent.com/ibtisam-iq/infra-bootstrap/main/scripts/kubernetes/k8s-kind-calico.sh | sudo bash
This configuration:
- Creates 1 control-plane + 1 worker
- Applies Calico as networking backend
- Configures API server port mapping
- Prepares kubeconfig automatically
B) Kind with Default CNI (Flannel)¶
curl -s https://raw.githubusercontent.com/ibtisam-iq/SilverKube/main/scripts/kubernetes/manifests/kind-config-file.yaml \
| kind create cluster --config -
This configuration:
- Uses default Kind networking (based on flannel-style routing)
- Creates multi-node topology
- No additional network plugin setup needed
⚡ 3. K3s (Lightweight Kubernetes Engine)¶
K3s is the smallest, fastest CNCF-certified Kubernetes distribution. Perfect for:
- VMs
- Raspberry Pi
- Small servers
- Learning Kubernetes without heavy components
Run:
curl -sfL https://get.k3s.io | sh -
Verify:¶
sudo k3s kubectl get nodes
K3s includes:
- Containerd
- Flannel networking
- Lightweight control-plane components
- Automatic configuration of kubeconfig
🧪 Cluster Verification (All Methods)¶
Regardless of how you created the cluster, verify using:
Check nodes:¶
kubectl get nodes
Check pods:¶
kubectl get pods -A
Check cluster info:¶
kubectl cluster-info
Check kubeconfig:¶
kubectl config view
🧹 Optional: Delete the Cluster¶
Minikube¶
minikube delete
Kind¶
kind delete cluster --name <cluster-name>
K3s¶
sudo /usr/local/bin/k3s-uninstall.sh
📘 Official References¶
- Minikube: https://minikube.sigs.k8s.io
- Kind: https://kind.sigs.k8s.io
- K3s: https://k3s.io