Aller au contenu principal

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

  1. Quels composants sont critiques pour le fonctionnement du cluster?
  2. Comment détectez-vous un problème avec un composant?
  3. Quelles métriques sont les plus importantes à surveiller?
  4. 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