minikube est l'outil de référence pour créer un cluster Kubernetes local, maintenu par Kubernetes SIG Node. Il provisionne un cluster Kubernetes complet dans une VM ou un conteneur Docker/Podman selon le driver configuré. minikube se distingue par ses 30+ addons intégrés (ingress, metrics-server, registry, dashboard), son support multi-node depuis v1.10, et minikube tunnel pour exposer les services LoadBalancer. Utilisé massivement pour l'apprentissage et les tests de compatibilité Kubernetes vanilla.
Informations essentielles
Origine : Kubernetes SIG Node · Licence : Apache 2.0 · Architectures : x86_64, ARM64
Liens : Site officiel · Documentation · GitHub · Releases
Support : Kubernetes SIG Node. Projet très actif, releases fréquentes.
Stack par défaut
| Composant | Valeur |
|---|---|
| Driver par défaut | docker (si disponible) ou kvm2/hyperv selon l'OS |
| Drivers supportés | docker, podman, kvm2, hyperv, virtualbox, vmware, parallels, none |
| Addons | 30+ (ingress, metrics-server, registry, dashboard…) |
| Multi-node | Oui (--nodes) |
| Runtime conteneurs | containerd (défaut), docker, cri-o |
Prérequis
| Ressource | Valeur |
|---|---|
| Driver | Docker, Podman, VirtualBox, KVM2 ou Hyper-V selon l'OS |
| CPU | 2 vCPU minimum |
| RAM | 2 Go minimum (4 Go recommandés) |
| Disque | 20 Go minimum |
Installation
# Linux - binaire
curl -Lo minikube \
https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/
# macOS
brew install minikube
# Windows (Chocolatey)
choco install minikube
minikube version
Démarrer un cluster
# Cluster par défaut (driver auto-détecté)
minikube start
# Driver Docker avec ressources personnalisées
minikube start --driver=docker --cpus=4 --memory=8g --disk-size=40g
# Choisir la version Kubernetes
minikube start --kubernetes-version=v1.31.0
# Cluster multi-nœuds
minikube start --nodes=3 --cpus=2 --memory=4g
# Cluster nommé (plusieurs clusters en parallèle)
minikube start -p dev-cluster
minikube start -p staging-cluster
# Statut
minikube status
kubectl get nodes
Addons
# Lister tous les addons disponibles
minikube addons list
# Addons courants
minikube addons enable ingress # NGINX Ingress Controller
minikube addons enable metrics-server # Metrics API (nécessaire pour HPA)
minikube addons enable dashboard # Kubernetes Dashboard
minikube addons enable registry # Registry Docker locale (port 5000)
# Désactiver un addon
minikube addons disable dashboard
# Ouvrir le dashboard dans le navigateur
minikube dashboard
Accéder aux services
# Services LoadBalancer - tunnel vers l'hôte (nécessite sudo)
minikube tunnel
# Services NodePort - ouvrir dans le navigateur
minikube service my-service -n production
# Obtenir l'URL sans ouvrir le navigateur
minikube service my-service --url -n production
# IP du nœud minikube
minikube ip
Gestion des images
# Pointer le client Docker local sur le daemon minikube
# (les images buildées sont directement disponibles dans le cluster)
eval $(minikube docker-env)
docker build -t myimage:tag .
# Restaurer le contexte Docker original
eval $(minikube docker-env --unset)
# Charger une image locale dans minikube
minikube image load myimage:tag
# Lister les images dans minikube
minikube image ls
Gestion du cluster
# Arrêter (préserve l'état)
minikube stop
# Mettre en pause (libère le CPU sans supprimer)
minikube pause
minikube unpause
# Supprimer le cluster
minikube delete
# Supprimer un profil spécifique
minikube delete -p dev-cluster
# Lister tous les profils
minikube profile list
Mise à jour
# Linux
curl -Lo minikube \
https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube && sudo mv minikube /usr/local/bin/
# macOS
brew upgrade minikube
Troubleshooting
# Logs du cluster
minikube logs
# Afficher uniquement les problèmes détectés
minikube logs --problems=true
# SSH dans le nœud
minikube ssh
# Réinitialiser en cas de blocage
minikube delete && minikube start
# Contexte kubectl incorrect
kubectl config current-context # Doit afficher "minikube"
kubectl config use-context minikube
# Driver introuvable ou non supporté
minikube start --driver=docker # Forcer Docker explicitement
Ressources
- Site officiel : https://minikube.sigs.k8s.io
- Documentation : https://minikube.sigs.k8s.io/docs/
- GitHub : https://github.com/kubernetes/minikube
- Addons disponibles : https://minikube.sigs.k8s.io/docs/handbook/addons/
- Releases : https://github.com/kubernetes/minikube/releases