Lab 2.3 - Monitoring des Composants Système
Objectifs
À la fin de ce lab, vous serez capable de:
- Monitorer les composants du Control Plane
- Surveiller les Worker Nodes
- Analyser les métriques système
- Identifier les problèmes potentiels
Prérequis
- Cluster Kubernetes fonctionnel
- kubectl installé
- Metrics Server installé (pour kubectl top)
Exercice 1: Monitoring du Control Plane
Étape 1: État des Composants
# Voir l'état des composants (déprécié mais utile)
kubectl get componentstatuses
# Voir les Pods du Control Plane
kubectl get pods -n kube-system
Étape 2: Logs des Composants
# Logs de l'API Server
kubectl logs -n kube-system -l component=kube-apiserver --tail=100
# Logs du Controller Manager
kubectl logs -n kube-system -l component=kube-controller-manager --tail=100
# Logs du Scheduler
kubectl logs -n kube-system -l component=kube-scheduler --tail=100
Exercice 2: Monitoring des Nodes
Étape 1: Santé des Nodes
# Voir l'état de tous les nodes
kubectl get nodes
# Détails d'un node
kubectl describe node <node-name>
# Voir les conditions d'un node
kubectl get node <node-name> -o jsonpath='{.status.conditions}'
Étape 2: Métriques des Nodes
# Utilisation des ressources
kubectl top nodes
# Détails des ressources
kubectl describe node <node-name> | grep -A 20 "Allocated resources"
Exercice 3: Événements et Alertes
Étape 1: Événements Récents
# Tous les événements
kubectl get events --all-namespaces --sort-by='.lastTimestamp'
# Événements d'erreur
kubectl get events --all-namespaces --field-selector type=Warning
# Événements d'un namespace
kubectl get events -n kube-system
Étape 2: Événements d'un Composant
# Événements liés à un Pod système
kubectl describe pod <pod-name> -n kube-system | grep Events -A 10
Exercice 4: Santé du Cluster
Étape 1: Vérification Générale
# Informations du cluster
kubectl cluster-info
# Version
kubectl version
# Ressources disponibles
kubectl api-resources
Étape 2: Espace de Noms Système
# Toutes les ressources dans kube-system
kubectl get all -n kube-system
# Secrets système
kubectl get secrets -n kube-system
# ConfigMaps système
kubectl get configmaps -n kube-system
Exercice 5: Diagnostic
Étape 1: Problèmes Courants
# Pods en erreur
kubectl get pods --all-namespaces --field-selector status.phase!=Running
# Pods qui redémarrent
kubectl get pods --all-namespaces | grep -E "Error|CrashLoopBackOff"
# Nodes NotReady
kubectl get nodes | grep NotReady
Étape 2: Analyse des Logs
# Logs d'un Pod qui plante
kubectl logs <pod-name> -n <namespace> --previous
# Logs de tous les conteneurs
kubectl logs <pod-name> -n <namespace> --all-containers=true
Questions de Réflexion
- Quels composants sont critiques pour le fonctionnement du cluster?
- Comment détectez-vous un problème avec un composant?
- Quelles métriques sont les plus importantes à surveiller?
- Comment réagiriez-vous si un node devient NotReady?
Nettoyage
Aucun nettoyage nécessaire.
Prochaines Étapes
Module 3: Pods et Déploiements
Quiz Module 2: Valider vos connaissances
Lab créé le: Décembre 2024