Prerequisites¶
Before installing Minikube, the system must meet the following minimum requirements:
- CPU: 4 cores or more (8 recommended for HA setups)
- RAM: 8 GB minimum
- Disk: 20 GB of free space
- Internet: A stable connection
- A non‑root user with
sudo
Update Debian and base tools¶
sudo apt update
sudo apt full-upgrade -y
sudo apt install -y curl wget ca-certificates gnupg lsb-release apt-transport-https
Install Docker Engine on Debian 13¶
1) Add Docker’s GPG key¶
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
2) Add Docker APT repo (Trixie is Debian 13)¶
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3) Install Docker components¶
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Validate¶
sudo systemctl status docker
sudo docker run hello-world
Make docker available without sudo access¶
sudo usermod -aG docker $USER
newgrp docker
docker ps
Validate¶
systemctl is-active docker
Install Minikube¶
cd /tmp
curl -LO https://github.com/kubernetes/minikube/releases/latest/download/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
rm minikube-linux-amd64
Check version:¶
minikube version
Install kubectl¶
You can use upstream Kubernetes binaries so your kubectl matches the latest stable server version.
cd /tmp
KVER=$(curl -L -s https://dl.k8s.io/release/stable.txt)
curl -LO "https://dl.k8s.io/release/${KVER}/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
kubectl version --client
Note: Minikube also bundles a kubectl that can be used as minikube kubectl --get pods if you prefer not to install it separately.
Start Minikube on Debian (Docker driver)¶
Basic start (non‑root user):¶
minikube start --driver=docker
Recommended for a smoother dev experience on a typical laptop (adapt RAM/CPU):¶
minikube start \
--driver=docker \
--cpus=3 \
--memory=8192 \
--disk-size=30g
Check status:¶
minikube status
kubectl get nodes
kubectl cluster-info
If minikube start fails, common fixes:
- Ensure Docker is running:
systemctl status docker. - Verify you are in the
dockergroup and re‑login or usenewgrp docker. - Add
--force-systemd=trueif cgroup driver issues appear with certain Docker setups.
Quick sanity test: Hello Minikube¶
Run the classic “hello‑minikube” app:¶
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
Open it via Minikube’s helper:
minikube service hello-minikube
This should print a URL you can curl to see the echo server response.
kubectl port-forward svc/hello-minikube --address=0.0.0.0 8080:8080
Useful addons and dashboard¶
List available addons:¶
minikube addons list
Typical ones to enable:¶
minikube addons enable dashboard
minikube addons enable ingress
minikube addons enable metrics-server
Launch dashboard:¶
minikube dashboard
Daily operations on Debian¶
Common lifecycle commands:¶
minikube pause
minikube unpause
minikube stop
minikube delete --all
minikube config set memory 8192
minikube config set cpus 4
Multi‑node local cluster example:¶
minikube start --driver=docker --nodes=3 --cpus=2 --memory=4096
kubectl get nodes