kubernetes

Minikube – Un petit cluster Kubernetes en local

Minikube vous permet d’installer en local un cluster Kubernetes (k8s) composé d’un unique nœud. Ainsi, pas besoin d’avoir plusieurs machines pour se lancer dans l’éco-système k8s.

Ce n’est pas un article « prod-ready », il s’agit là d’avoir une machine à disposition avec Kubernetes pour étudier la solution.
J’utilise Minikube à titre professionnel, pour notamment prendre en main Kubernetes et faire des tests de déploiement rapidement.

Il existe plusieurs possibilités pour déployer Kubernetes dans de petits labos, notamment via « k3s » ou encore « kind »… L’intérêt de Minikube, c’est sa simplicité : une commande permet de générer un environnement prêt à l’emploi ! Alors oui, ça abstrait beaucoup de facettes de Kubernetes, mais l’intérêt ici n’est pas tant de découvrir ce qu’il y a sous le capot.

Introduction & prérequis pour Minikube

minikube

Pour se faire, je suis parti d’une VM Debian 10 avec quelques outils indispensables.

Outils exploités : Curl, Git, Docker, VirtualBox, linux-headers, Minikube, Kubectl

sudo apt install curl git linux-headers-amd64 docker.io docker-compose --no-install-recommends  

Minikube va générer un conteneur (dans docker) avec le nécessaire à l’intérieur pour avoir/lancer k8s. Pour rappel, ce genre de service n’est pas à exploiter en production !

Installation du cluster Kubernetes

Avant de se lancer purement dans Kubernetes, nous devons installer kubectl directement depuis les sources officielles, qui sera l’outil principal dans quelques instants.

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x kubectl
sudo cp kubectl /usr/local/bin/.

Maintenant, passons l’installation de minikube – source officielle : https://kubernetes.io/docs/tasks/tools/install-minikube/

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
sudo cp minikube /usr/local/bin/minikube

Exploiter Minikube

La partie installation est finalisée après le téléchargement des deux binaires. Maintenant, créons notre premier « cluster ».

Dans l’idée, j’efface tout ce qui a été généré auparavant avec Minikube, puis j’attribuerai 6 Gb de RAM et 4 CPU pour créer les machines virtuelles nécessaires. De plus, l’extension metrics-server sera ajoutée pour avoir des statistiques dans le tableau de bord.

  • Supprimer les précédentes versions/essais de Minikube
minikube delete

# Pour effacer complètement les données et les traces résiduelles
rm -rf ~/.minikube
rm -rf ~/.kube
  • Démarrer Minikube avec quelques ressources spécifiques
minikube start --memory 6144 --cpus 4
minikube addons enable metrics-server

A cet instant, votre « cluster » k8s est maintenant opérationnel ! Il est en attente de ses fichiers de déploiements de vos services. Pour aller plus loin, nous pouvons ouvrir le tableau de bord de Minikube via cette commande :

minikube dashboard

Votre navigateur web ouvrira une page « Kubernetes dashboard », qui est le même disponible dans un vrai cluster Kubernetes. Dans ce tableau de bord, vous pouvez lister les déploiements, les pods, les replicaSet, voir les ingress, les stockages… Tout ce qui est interne ou en relation au cluster K8S.


Une fois les tests terminés, pour terminer l’instance de Minikube, une seule commande suffit :

minikube stop

Si vous souhaitez effacer complètement l’instance Minikube comme fait précédemment, une autre commande est possible :

minikube delete

Maintenant, il ne vous reste plus que votre imagination pour déployer plein de conteneurs..!

2 réflexions sur “Minikube – Un petit cluster Kubernetes en local”

  1. Axel Rousseau

    Bonjour,
    J’ai l’impression qu’il y a un petit soucis avec la commande :
    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube-linux-amd64
    sudo cp minikube-linux-amd64 /usr/local/bin/minikube

    en effet, en téléchargeant le fichier sous le nom « minikube » (option -o), il ne trouve pas de fichier minikube-linux-amd64 pour appliquer le chmod.

    J’obtiens le message d’erreur suivant (que je corrige facilement avec un « chmod +x minikube »)

    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube-linux-amd64
    sudo cp minikube-linux-amd64 /usr/local/bin/minikube

    N’hésitez pas à supprimer ce commentaire une fois l’article corrigé.

    Merci pour votre tuto,

    Axel

    1. Bonjour Axel,
      En effet, coquille de copié/collé. C’est désormais re-testé et corrigé, merci beaucoup d’avoir remonté le problème !!
      Au plaisir 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *