Minikube Logo

L’objectif de ce tutoriel est de déployer un cluster Kubernetes de développement local en utilisant minikube et kubectl.

Installation de minikube

Si vous n’avez pas la commande minikube, vous devez d’abord l’installer. Je travaille sur macOS, donc je lance la commande :

brew install minikube

Vous pouvez vérifier si le binaire est bien installé avec cette commande :

minikube version
minikube version: v1.30.1
commit: 08896fd1dc362c097c925146c4a0d0dac715ace0

Installation de kubectl

La deuxième étape consiste à installer le binaire kubectl pour interagir avec votre cluster. J’utilise brew, donc je lance :

brew install kubectl

Si vous n’avez pas macOS, veuillez consulter ce lien.

Je vérifie ma version de kubectl pour être sûr :

kubectl version --client -oyaml
clientVersion:
  buildDate: "2023-06-14T09:47:38Z"
  compiler: gc
  gitCommit: 25b4e43193bcda6c7328a6d147b1fb73a33f1598
  gitTreeState: clean
  gitVersion: v1.27.3
  goVersion: go1.20.5
  major: "1"
  minor: "27"
  platform: darwin/arm64
kustomizeVersion: v5.0.1

Démarrage du cluster

Démarrage du cluster minikube

Maintenant nous pouvons démarrer le cluster :

minikube start
😄  minikube v1.30.1 sur Darwin 13.4.1 (arm64)
    ▪ KUBECONFIG=/tmp/config-1689600714
✨  Utilisation du pilote docker basé sur le profil existant
👍  Démarrage du noeud de plan de contrôle minikube dans le cluster minikube
🚜  Extraction de l'image de base...
🏃  Mise à jour du container docker en marche "minikube" ...
🐳  Préparation de Kubernetes v1.26.3 sur Docker 23.0.2...
🔎  Vérification des composants Kubernetes...
    ▪ Utilisation de l'image docker.io/kubernetesui/dashboard:v2.7.0
    ▪ Utilisation de l'image gcr.io/k8s-minikube/storage-provisioner:v5
    ▪ Utilisation de l'image docker.io/kubernetesui/metrics-scraper:v1.0.8
💡  Certaines fonctionnalités du tableau de bord nécessitent le module metrics-server. Pour activer toutes les fonctionnalités, veuillez exécuter :

  minikube addons enable metrics-server

🌟  Modules activés: storage-provisioner, default-storageclass, dashboard
🏄  Terminé ! kubectl est maintenant configuré pour utiliser "minikube" cluster et espace de noms "default" par défaut.

Votre configuration kubectl est générée et prête à utiliser.

kubectl config current-context
minikube

Vous êtes connecté à un cluster nommé minikube.

Vérification du cluster

Vous pouvez utiliser kubectl pour vérifier les nœuds :

kubectl get nodes
NAME       STATUS   ROLES           AGE     VERSION
minikube   Ready    control-plane   4d22h   v1.26.3

Félicitations ! Vous avez maintenant un cluster Kubernetes et vous êtes prêt à travailler dessus.

Gestion de plusieurs clusters avec les profils

Parfois, vous devez travailler sur plusieurs clusters en même temps, par exemple pour tester la connectivité. Avec minikube, vous pouvez le faire facilement avec les profils.

Créer le premier cluster nommé cluster1

minikube start -p cluster1

Créer le deuxième cluster nommé cluster2

minikube start -p cluster2

Lister tous les clusters existants

minikube profile list

Basculer le contexte vers cluster1

minikube profile cluster1
minikube update-context