Introduction
Kubernetes est un système d’orchestration de conteneurs. Il gère la planification, l’exécution, l’exposition et la récupération des applications conteneurisées au sein d’un cluster.
Pour interagir avec un cluster Kubernetes, vous utilisez généralement kubectl. Avant de déployer des applications, vous devez disposer d’un cluster en fonctionnement et d’une configuration client valide qui pointe correctement vers ce cluster.
Dans ce laboratoire, vous allez suivre les étapes fondamentales pour configurer votre accès à un cluster Kubernetes. Vous utiliserez Minikube, un outil qui exécute localement un cluster Kubernetes à un seul nœud, particulièrement adapté à l’apprentissage et au développement.
Vous apprendrez à :
- Démarrer un cluster Kubernetes local.
- Vérifier votre contexte
kubectlpour vous assurer que vous ciblez le bon cluster. - Récupérer les informations essentielles du cluster.
- Lister les nœuds du cluster pour vérifier leur état.
Démarrer le cluster
Dans cette étape, vous allez démarrer un cluster Kubernetes local avec Minikube. Minikube crée une machine virtuelle ou un conteneur sur votre ordinateur, puis y déploie un cluster simple. Vous pouvez ainsi vous exercer aux commandes Kubernetes sans avoir besoin d’un fournisseur cloud.
À ce stade, il est utile de bien distinguer trois notions. Un cluster désigne l’ensemble de l’environnement Kubernetes. Un nœud est une machine située dans ce cluster. Le control plane est la partie qui accepte les requêtes d’API et décide des actions à effectuer. Minikube regroupe ces composants dans un environnement local d’apprentissage afin que vous puissiez vous concentrer sur les concepts Kubernetes avant de travailler avec une infrastructure cloud.
Commencez par vérifier que vous vous trouvez dans le répertoire du projet :
cd ~/project
Démarrez maintenant le cluster Minikube. Nous allons spécifier le pilote docker afin d’exécuter le cluster dans un conteneur Docker, ce qui est compatible avec l’environnement de ce laboratoire.
minikube start --driver=docker
Cette opération peut prendre quelques minutes, car Minikube télécharge les images Kubernetes nécessaires et démarre le control plane. La sortie indique que Minikube récupère les images, démarre le conteneur et configure le cluster.
Une fois la commande terminée, vérifiez l’état de Minikube pour vous assurer qu’il fonctionne correctement :
minikube status
La sortie doit indiquer que host, kubelet et apiserver sont à l’état "Running".
Vérifier le contexte
Dans cette étape, vous allez vérifier que l’outil en ligne de commande kubectl est configuré pour communiquer avec votre nouveau cluster Minikube.
Kubernetes utilise un fichier de configuration, généralement situé à l’emplacement ~/.kube/config, pour stocker les informations d’accès aux clusters. Ce fichier peut contenir les informations de plusieurs clusters. Le « contexte » détermine le cluster auquel kubectl envoie les commandes. Lorsque vous avez démarré Minikube à l’étape précédente, l’outil a automatiquement mis à jour votre configuration et défini le contexte sur minikube.
Cette notion est importante, car kubectl n’est qu’un client. Il ne « contient » pas le cluster. Il lit les informations de connexion, les certificats et le contexte actuellement sélectionné, puis envoie des requêtes au serveur d’API Kubernetes. Dans un environnement professionnel, les ingénieurs passent souvent d’un cluster de développement à un cluster de préproduction ou de production. Vérifier le contexte actuel est donc une habitude de sécurité, et non une simple formalité.
Pour vérifier le contexte actuel, exécutez la commande suivante :
kubectl config current-context
La sortie doit être :
minikube
Pour afficher tous les détails de la configuration, notamment l’URL du serveur du cluster et les certificats utilisateur (affichés de manière sécurisée), vous pouvez consulter la configuration :
kubectl config view
Cela confirme que toutes les commandes kubectl suivantes seront exécutées sur votre cluster Minikube local.
Vérifier les informations du cluster
Dans cette étape, vous allez récupérer les informations de base du cluster afin de vérifier la connectivité et de voir où le control plane Kubernetes s’exécute.
La commande cluster-info permet de vérifier simplement si kubectl peut communiquer avec le serveur d’API.
Kubernetes est un système piloté par une API. Presque toutes les actions, de la création d’un Pod à la mise à l’échelle d’un Deployment, deviennent une requête d’API envoyée au control plane. C’est pourquoi la question « Mon client peut-il joindre le serveur d’API ? » fait partie des premières vérifications lors de l’analyse de l’état d’un cluster.
Exécutez la commande suivante :
kubectl cluster-info
Vous devriez obtenir une sortie similaire à celle-ci :
Kubernetes control plane is running at https://127.0.0.1:32769
CoreDNS is running at https://127.0.0.1:32769/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Les adresses IP et les ports peuvent varier, mais l’élément essentiel est la présence du message « Kubernetes control plane is running ». Cela confirme que votre client (kubectl) est bien connecté au serveur, c’est-à-dire au cluster.
Lister les nœuds
Dans cette étape, vous allez examiner les nœuds de votre cluster. Dans Kubernetes, un nœud est une machine de travail, virtuelle ou physique. Comme nous utilisons Minikube, nous nous attendons à voir un seul nœud qui joue à la fois le rôle de control plane et celui de worker.
Dans les clusters plus importants, ces rôles sont souvent séparés. Les nœuds du control plane se concentrent sur l’orchestration, tandis que les nœuds worker exécutent les charges de travail des applications. Minikube regroupe ces rôles sur un seul nœud afin de simplifier l’environnement d’apprentissage, mais la sortie de la commande présente les mêmes concepts que ceux que vous rencontrerez en production.
Pour lister tous les nœuds du cluster, utilisez la commande get nodes :
kubectl get nodes
Vous devriez obtenir une sortie similaire à la suivante :
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m20s v1.26.1
Voici la signification des colonnes :
- NAME : le nom du nœud, ici
minikube. - STATUS : l’état doit être
Ready, ce qui indique que le nœud est sain et prêt à accepter des charges de travail. - ROLES : le rôle du nœud, par exemple
control-plane. - AGE : la durée depuis laquelle le nœud fonctionne.
- VERSION : la version de Kubernetes installée sur le nœud.
Si l’état est NotReady, cela signifie généralement que le nœud est encore en cours de démarrage ou qu’un problème réseau est survenu. Puisque l’état est Ready, votre cluster est entièrement opérationnel.
Résumé
Dans ce laboratoire, vous avez configuré votre environnement pour accéder à un cluster Kubernetes. Vous avez :
- Démarré un cluster Kubernetes local avec Minikube.
- Vérifié que votre contexte kubectl cible correctement le cluster local.
- Récupéré les informations du cluster afin de confirmer la connectivité avec le serveur d’API.
- Listé les nœuds pour vous assurer que l’infrastructure du cluster est prête et saine.
Ces étapes constituent la base nécessaire avant de déployer des applications dans Kubernetes. Vous disposez maintenant d’un environnement local fonctionnel pour poursuivre votre apprentissage de Kubernetes.


