Minikube, mise en place d’un cluster Kubernetes à noeud unique

blog / Techno / DevOps / Minikube, mise en place d’un cluster Kubernetes à noeud unique

Minikube, mise en place d’un cluster Kubernetes à noeud unique

19 Déc, 2020 |
Minikube Kubernetes

Les développeurs et administrateurs système intéressés à apprendre Kubernetes ont entendu parler de Minikube. Kubernetes est un outil d’orchestration de conteneurs complexe qui peut être accablant pour les débutants. Minikube a été développé pour aider les gens à apprendre Kubernetes et à tester leurs idées localement. Dans ce didacticiel, nous garderons les informations de base, afin que vous puissiez comprendre et exécuter votre premier cluster Kubernetes sur Minikube.

Qu’est-ce que Minikube?

Minikube a été développé pour permettre aux utilisateurs d’exécuter Kubernetes localement. Lorsque vous installez et exécutez Minikube sur votre ordinateur, il exécute un cluster Kubernetes à nœud unique dans une machine virtuelle.

Pourquoi Minikube?

Minikube est destiné à la fois aux nouveaux utilisateurs et aux développeurs réguliers. L’installation de Kubernetes est longue et gourmande en ressources. Avec Minikube, vous obtenez une version plus petite d’un cluster Kubernetes à nœud unique sur votre ordinateur personnel. Si vous êtes un apprenant, cela vous donne la possibilité de jouer et de comprendre les concepts de base. Une fois que vous êtes devenu un praticien régulier, vous pouvez toujours utiliser Minikube pour tester vos idées localement avant de le déployer dans votre centre de données ou votre serveur. Cela peut fonctionner comme votre environnement de test.

Que pouvez-vous faire avec Minikube?

Minikube est idéal pour apprendre Kubernetes et tester vos concepts et vos idées pendant le développement.

Prérequis

Même si ce n’est pas nécessaire pour ce didacticiel, une connaissance de base des conteneurs tels que Docker est utile pour comprendre Minikube / Kubernetes.

Vos besoins matériels ont la virtualisation activée dans le BIOS de votre ordinateur. La bonne nouvelle est que la plupart des machines modernes l’ont déjà activé.

Avoir Minikube installé sur votre machine, et pour cela il vous faut :

installer VirtualBox, installer kubectl, installer Minikube

Définitions de base des concepts Minikube / Kubernetes

Pour utiliser Minikube, vous devez comprendre les idées de base décrites ci-dessous. Les définitions n’essaient pas d’expliquer la technologie en profondeur. Cela vous donne seulement une compréhension des concepts de base de Kubernetes. Dans cette discussion, Kubernetes et Minikube signifient la même chose

Conteneur : Dans Minikube, les conteneurs sont utilisés comme éléments de base de la création d’applications.

Pod : Pod est une collection d’un ou plusieurs conteneurs qui partagent le stockage et les ressources réseau. Les pods contiennent la définition de la manière dont les conteneurs doivent être exécutés dans Minikube. Minikube utilise ces définitions pour conserver les ressources nécessaires. Par exemple, vous pouvez définir que vous avez besoin de deux pods. Pendant l’exécution, si un pod tombe en panne, Minikube lancera automatiquement un nouveau pod.

Service : Les pods étant remplaçables, Minikube a besoin d’une couche d’abstraction pour que l’interaction entre les différents pods reste transparente. Par exemple, si un pod meurt et qu’un nouveau pod est créé, les utilisateurs de l’application ne doivent pas s’enliser dans les détails des adresses réseau et des problèmes associés. Les services s’enroulent autour des pods pour créer des niveaux d’abstraction.

Master : Le maître coordonne le cluster. C’est comme le cerveau de l’opération.

Node : Travailleurs qui exécutent les pods.

kubectl : C’est l’interface de ligne de commande pour exécuter des commandes sur le cluster Kubernetes.

Déploiement sur Minikube

Une fois que tout les prérequis installés, vous pouvez démarrer Minikube avec la commande suivante:

$ minikube start
There is a newer version of minikube available (v0.28.0).  Download it here:
https://github.com/kubernetes/minikube/releases/tag/v0.28.0

To disable this notification, run the following:
minikube config set WantUpdateNotification false
Starting local Kubernetes v1.9.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

Lors de votre première exécution, le démarrage de Minikube prendra du temps car il construira la VM pour vous. Vous pouvez vérifier votre VirtualBox pour voir la machine virtuelle Minikube tourne:

Minikube, mise en place d'un cluster Kubernetes à noeud unique 2 - Webpick

Vous pouvez utiliser la commande suivante pour vérifier l’état de votre Minikube:

$ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

Une grande fonctionnalité de Minikube est le tableau de bord. Depuis le tableau de bord, vous pouvez voir tout ce qui se passe dans Minikube. Vous pouvez également contrôler les ressources de votre cluster à partir du tableau de bord. Utilisez la commande suivante pour démarrer le tableau de bord dans votre navigateur par défaut:

$ minikube dashboard
Opening kubernetes dashboard in default browser...

Voici à quoi devrait ressembler le tableau de bord:

Minikube, mise en place d'un cluster Kubernetes à noeud unique 4 - Webpick

Déployons une application NGINX sur Minikube.

Voici les étapes:

1. Créez un pod:

$ kubectl run mynginxapp --image=nginx:latest --port=80
deployment "mynginxapp" created

2. Créez un service:

$ kubectl expose deployment mynginxapp --type=NodePort
service "mynginxapp" exposed

3. Vérifiez l’état de votre pod et de votre service:

$ kubectl get pods
NAME                          READY     STATUS    RESTARTS   AGE
mynginxapp-6d64b788cc-j5crt   1/1       Running   0          4m
 
$ kubectl get services
NAME         TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1     <none>        443/TCP        1h
mynginxapp   NodePort    10.97.47.26   <none>        80:30964/TCP   1m

Vous pouvez voir que le pod et le service en cours d’exécution pour mynginxapp.

4. Voyons à quelle adresse et à quel port Minikube exécute mynginxapp:

$ Minikube service mynginxapp --URL
http://192.168.99.100:30964
Minikube, mise en place d'un cluster Kubernetes à noeud unique 6 - Webpick

Si vous accédez à l’URL renvoyée (dans ce cas, il s’agit de http://192.168.99.100:30964) sur votre navigateur, vous devriez voir le service NGINX en cours d’exécution. 5. Vérifiez à nouveau le tableau de bord:

$ Minikube dashboard
Opening kubernetes dashboard in default browser...
Minikube, mise en place d'un cluster Kubernetes à noeud unique 8 - Webpick

6. Finalement pour supprimez le service et le pod et arrêtez Minikube

$ kubectl delete service mynginxapp
service "mynginxapp" deleted
$ kubectl delete deployment mynginxapp
deployment "mynginxapp" deleted
$ Minikube stop

Stopping local Kubernetes cluster...
Machine stopped.

Conclusion :

Dans cet exemple, vous avez d’abord déployé un pod NGINX appelé mynginxapp. L’image NGINX a été téléchargée à partir de Docker Hub. Ensuite, vous avez créé un service pour prendre en charge le pod. Vous avez pu voir le service à partir du navigateur. Enfin, vous avez supprimé le pod et le service, puis arrêté Minikube.

Livre Blanc Divi

Accédez au Livre Blanc Divi rédigé par l’équipe Webpick et découvrez comment WordPress peut révolutionner votre vision de l’édition de contenus sur le web !

Disponible en version web en cliquant ici, ou en pdf envoyé à votre boîte email à travers le formulaire suivant :

Catégories

à propos

Webpick a été fondé en 2015 par Taoufik, AKA Tao. Vétéran du web à Marrakech, Tao a construit une belle équipe de spécialistes des technologies, principalement PHP et WordPress. Accaparé par les multiples projets de l’incubateur EBF (Emerging Business Factory) qu’il a confondé, Tao a laissé les rênes de Webpick à son ami et associé David à partir de 2018.

Partager cette page

À propos de l’auteur

Aya Chilla

Aya Chilla

Auteur

Hello, je suis ingénieure basée à Marrakech, passionnée par la culture DevOps, et j'aimerais partager ma passion avec vous !