Installer Minikube avec le pilote Docker sur Debian

Aujourd’hui, la majorité des grandes applications web tournent sur Kubernetes — une plateforme puissante pour automatiser le déploiement, la mise à l’échelle et la gestion de conteneurs. C’est devenu un standard incontournable dans le monde du cloud et du DevOps.
Mais avant de plonger dans un cluster Kubernetes complet en production, il faut un terrain de jeu. C’est là que Minikube entre en scène.
Minikube vous permet de faire tourner un cluster Kubernetes complet sur une seule machine, que ce soit une machine physique ou une machine virtuelle. C’est l’outil idéal pour :

– explorer Kubernetes sans configurer toute une infrastructure distribuée,

– tester des déploiements,

– développer des applications conteneurisées en toute liberté.

Minikube prend en charge différents hyperviseurs comme VirtualBox, KVM, ou Hyper-V, mais le plus simple et rapide à mettre en place reste souvent Docker. En utilisant Docker comme pilote, Minikube crée des conteneurs qui se comportent comme des nœuds Kubernetes, sans avoir besoin de machine virtuelle dédiée.
⚠️ Important : Minikube doit être installé sur un système physique ou une machine virtuelle. Il ne fonctionne pas dans un conteneur LXC, car ceux-ci ne prennent pas en charge la virtualisation imbriquée requise.
🎯 Si vous souhaitez devenir développeur d’applications cloud-native ou travailler dans le DevOps, comprendre Kubernetes et savoir utiliser Minikube est un véritable atout pour apprendre, expérimenter et progresser.
Dans ce tutoriel, je vous montre pas à pas comment installer Minikube avec le pilote Docker sur une machine Debian. Prêt à créer votre propre cluster Kubernetes local ? C’est parti.

Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :

– Système Debian ou une distribution dérivée comme Ubuntu

Utilisateur avec droit sudo

Docker installé et fonctionnel

💻 Ressources minimales conseillées
Pour faire fonctionner Minikube dans de bonnes conditions, il est recommandé de disposer au minimum de :

2 CPU (idéalement 4 ou plus)

4 Go de RAM (8 Go ou plus recommandés)

💡 Dans ce tutoriel, j’utilise une machine virtuelle sous Proxmox équipée de 2 vCPU et 12 Go de RAM.

Désactivation du swap

Kubernetes exige que le swap soit désactivé, sans quoi certains composants refuseront de démarrer.
Désactivez-le temporairement avec la commande suivante :

sudo swapoff -a

Pour désactiver le swap de manière permanente, il faut commenter ou supprimer la ligne correspondante dans le fichier /etc/fstab.

 

Vérification des ressources système

Avant de lancer Minikube, vous pouvez vérifier les ressources disponibles sur la machine :

free -h # pour vérifier la RAM disponible
nproc # pour vérifier le nombre de cœurs CPU disponibles

 

Étape 1 : Installer Minikube

Commencez par télécharger la dernière version de Minikube :

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

Ensuite, installez-la dans un répertoire accessible globalement (comme /usr/local/bin) :

sudo install minikube-linux-amd64 /usr/local/bin/minikube

Une fois installé, vérifiez que Minikube est bien fonctionnel avec :

minikube version

Vous devriez voir s’afficher le numéro de version installé.

 

Étape 2 : Configurer les permissions Docker

Ajoutez votre utilisateur au groupe docker pour pouvoir exécuter des commandes Docker (et Minikube) sans utiliser sudo :

sudo usermod -aG docker $USER
newgrp docker

La commande newgrp docker applique immédiatement le changement de groupe sans avoir besoin de redémarrer la session.
Cette étape est indispensable pour que Minikube puisse utiliser Docker correctement avec les droits de l’utilisateur courant.

Étape 3 : Démarrer Minikube

Démarrage simple avec Docker :

minikube start --driver=docker

Cette commande lance Minikube en utilisant Docker comme backend de virtualisation, ce qui permet de simuler un cluster Kubernetes sans créer de machines virtuelles complètes.

 

Démarrage avec plus de ressources (8 Go RAM, 3 CPU) :

minikube start --driver=docker --memory=8096 --cpus=3

Cette configuration est recommandée pour des projets plus complexes ou plus lourds.
Options utiles supplémentaires :

  • –disk-size=20g : définit la taille du disque virtuel alloué à Minikube
  • –kubernetes-version=v1.30.0 : installe une version spécifique de Kubernetes
  • –addons=ingress,dashboard : active des modules intégrés (comme l’ingress controller ou l’interface graphique)

⚠️ Attention : ne dépassez pas les ressources disponibles sur votre machine hôte. Laissez au minimum 1 vCPU et 1 Go de RAM pour le système hôte, sinon Minikube peut planter ou ralentir fortement votre VM.

Étape 4 : Vérifier le statut et accéder au tableau de bord

Une fois Minikube démarré, vérifiez que le cluster fonctionne correctement :

minikube status

Vous devriez voir un état “Running” pour tous les composants (host, kubelet, apiserver, etc.).

Accéder au tableau de bord Kubernetes
Minikube propose un tableau de bord web pour visualiser et gérer votre cluster. Pour l’activer sans lancer automatiquement le navigateur :

minikube dashboard --url

Cette commande retourne une URL comme :

Cette adresse est locale à la VM. Si vous êtes connecté à distance en SSH, elle ne fonctionnera pas directement depuis votre poste.

Accès sécurisé via un tunnel SSH
Depuis votre machine locale, créez un tunnel SSH pour rediriger le port du dashboard :

ssh -L 35287:127.0.0.1:35287 user@IP_ADDRESS

Remplacez 35287 par le vrai port affiché par la commande minikube dashboard –url

Remplacez IP_DE_TA_VM par l’adresse IP de votre VM Debian

Par exemple, dans mon cas :

ssh -L 35287:127.0.0.1:35287 oleks@10.10.25.252

 

Ouvrir le Dashboard dans le navigateur
Depuis votre navigateur local, accédez à l’URL suivante :

http://127.0.0.1:35287/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/

Vous verrez le Kubernetes Dashboard à distance, accessible en toute sécurité via le tunnel SSH.

 

🖥️ À quoi sert le Dashboard ?
Le Kubernetes Dashboard est une interface web conviviale qui permet de :

  • visualiser en temps réel les pods, services, déploiements, volumes, etc.
  • créer, modifier ou supprimer des ressources Kubernetes
  • consulter les logs des pods
  • surveiller l’état de votre cluster de manière graphique

C’est un outil très utile pour l’administration, surtout quand on débute avec Kubernetes.

Commandes utiles supplémentaires

Voici quelques commandes pratiques pour gérer votre cluster Minikube au quotidien :
Lister les contextes Kubernetes disponibles :

minikube kubectl config get-contexts

 

Afficher les informations du cluster :

minikube kubectl cluster-info

Déployer une application de test (ex. NGINX)
Pour tester rapidement un déploiement :

minikube kubectl -- create deployment demo --image=nginx
minikube kubectl -- expose deployment demo --type=NodePort --port=80
minikube service demo

Cela créera un pod avec NGINX et l’exposera via un service accessible depuis votre machine.

Voir les pods en cours d’exécution :

minikube kubectl get pods

 

 

Arrêter Minikube :

minikube stop

Supprimer complètement le cluster Minikube :

minikube delete

 

Minikube est maintenant installé et opérationnel. Vous pouvez commencer à déployer vos applications dans votre cluster Kubernetes local pour expérimenter et tester vos déploiements.
Minikube est maintenant installé et pleinement opérationnel sur votre machine. Vous pouvez commencer à déployer vos applications dans votre cluster Kubernetes local, expérimenter, apprendre et affiner vos déploiements en toute autonomie.

Bonne chance!