Introduction
Kubernetes est une plateforme d'orchestration de conteneurs qui automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Dans ce laboratoire (lab), vous allez découvrir comment utiliser la commande cluster-info pour obtenir des informations sur votre cluster Kubernetes. À la fin du laboratoire, vous comprendrez comment démarrer un cluster Kubernetes, récupérer les informations essentielles sur le cluster, inspecter les composants internes et tester la connectivité du serveur API.
Ce laboratoire est conçu pour les débutants, et aucune expérience préalable avec Kubernetes n'est requise.
Démarrer le cluster Kubernetes
Un cluster Kubernetes nécessite un environnement de fonctionnement. Dans ce laboratoire (lab), nous allons utiliser Minikube, un outil qui vous permet d'exécuter un cluster Kubernetes localement. Suivez ces étapes :
Ouvrez votre terminal et assurez-vous que vous êtes dans le répertoire
/home/labex/project:cd ~/projectDémarrez le cluster Minikube :
minikube start- Minikube crée un cluster Kubernetes mono - noeud.
- Ce processus peut prendre quelques minutes, selon votre système. Lors de l'initialisation, divers composants Kubernetes seront configurés.

Récupérer les informations de base sur le cluster
Une fois que Minikube est en cours d'exécution, utilisez la commande kubectl cluster-info pour afficher les informations sur le cluster. Exécutez la commande suivante :
kubectl cluster-info
- L'URL du serveur API est le point d'accès principal pour interagir avec votre cluster.
- CoreDNS gère la découverte de services et la résolution DNS au sein du cluster.
Exemple de sortie :
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
- L'adresse
https://192.168.49.2:8443est l'URL du serveur API Kubernetes. C'est là que toutes les commandeskubectlsont envoyées. - Le service CoreDNS aide Kubernetes à résoudre les noms de domaine pour les services et les pods.
Inspecter en détail les composants du cluster
Pour mieux comprendre le cluster et ses composants internes, utilisez :
kubectl cluster-info dump
Cette commande fournit des informations détaillées sur les composants clés :
- etcd : Un magasin clé-valeur pour toutes les données du cluster.
- kube-apiserver : Le point d'entrée pour les requêtes de l'API Kubernetes.
- kube-scheduler : Assigne les charges de travail (pods) aux nœuds disponibles.
- kube-controller-manager : Maintient l'état du cluster (par exemple, s'assure que le nombre souhaité de réplicas de pods est en cours d'exécution).
Exemple de sortie :
Cette commande génère une sortie détaillée décrivant la configuration et l'état des composants système Kubernetes. Vous pouvez rediriger la sortie vers un fichier pour faciliter l'analyse :
kubectl cluster-info dump > cluster-details.txt
Cela enregistrera la sortie dans le fichier cluster-details.txt de votre répertoire actuel.
Afficher les nœuds du cluster
Les nœuds (nodes) sont les machines qui exécutent vos charges de travail dans Kubernetes. Pour lister les nœuds de votre cluster, exécutez :
kubectl get nodes
- Le nom du nœud (par exemple,
minikube) identifie la machine. - Le statut (
Ready) indique que le nœud est en bonne santé et peut exécuter des charges de travail. - Dans un cluster Minikube, le nœud agit à la fois comme le plan de contrôle (control plane) et le nœud de travail (worker node).
Exemple de sortie :
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m v1.20.0
Tester l'accès au serveur API
Le serveur API est un composant essentiel du plan de contrôle (control plane) Kubernetes. Vous pouvez tester son accessibilité en exécutant :
curl $(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}') --insecure
- Cette commande récupère l'URL du serveur API et effectue une simple requête à cette adresse.
- Le flag
--insecurecontourne la vérification du certificat SSL, ce qui est acceptable dans cette configuration locale.
Exemple de sortie :
Si le serveur API est accessible, la réponse devrait ressembler à ceci :
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
Cette réponse confirme que le serveur API est en cours d'exécution, mais refuse l'accès en raison de l'absence d'authentification, ce qui est prévu.
Résumé
Dans ce laboratoire, vous avez appris à :
- Démarrer un cluster Kubernetes avec Minikube.
- Utiliser
kubectl cluster-infopour récupérer les détails du cluster. - Inspecter en profondeur les composants du cluster avec
kubectl cluster-info dump. - Lister les nœuds du cluster en utilisant
kubectl get nodes. - Tester la connectivité du serveur API avec une commande
curl.
Cette expérience pratique a fourni une base pour comprendre et explorer les clusters Kubernetes. Ces commandes sont essentielles pour le débogage et la gestion des environnements Kubernetes.
Étapes suivantes :
- Explorer les pods et les charges de travail dans Kubernetes.
- Apprendre à créer des services pour exposer des applications.
- Expérimenter la mise à l'échelle des charges de travail dans un cluster.
Continuez à pratiquer et bonne apprentissage!


