Aller au contenu principal

Lab 2.2 - Analyse des Worker Nodes

Objectifs

À la fin de ce lab, vous serez capable de:

  • Inspecter les Worker Nodes
  • Comprendre le rôle de kubelet
  • Analyser kube-proxy
  • Examiner le Container Runtime

Prérequis

  • Cluster Kubernetes fonctionnel
  • kubectl installé et configuré
  • Accès au cluster

Exercice 1: Inspecter les Nodes

Étape 1: Lister les Nodes

# Voir tous les nodes
kubectl get nodes

# Voir les détails d'un node
kubectl describe node <node-name>

# Voir les nodes avec plus d'informations
kubectl get nodes -o wide

Question: Combien de Worker Nodes avez-vous? Quels sont leurs rôles?

Étape 2: Informations d'un Node

# Voir les labels d'un node
kubectl get node <node-name> --show-labels

# Voir les annotations
kubectl get node <node-name> -o jsonpath='{.metadata.annotations}'

Exercice 2: Analyser kubelet

Étape 1: Vérifier kubelet

# Voir les Pods système liés à kubelet
kubectl get pods -n kube-system | grep kubelet

# Voir les événements d'un node
kubectl get events --field-selector involvedObject.name=<node-name>

Étape 2: Métriques du Node

# Voir l'utilisation des ressources d'un node
kubectl top node <node-name>

# Voir les détails des ressources
kubectl describe node <node-name> | grep -A 10 "Allocated resources"

Exercice 3: Analyser kube-proxy

Étape 1: Vérifier kube-proxy

# Voir le Pod kube-proxy
kubectl get pods -n kube-system -l k8s-app=kube-proxy

# Voir les logs de kube-proxy
kubectl logs -n kube-system -l k8s-app=kube-proxy --tail=50

Étape 2: Vérifier les Services

# Lister tous les Services
kubectl get services --all-namespaces

# Voir les Endpoints d'un Service
kubectl get endpoints <service-name>

Exercice 4: Container Runtime

Étape 1: Identifier le Runtime

# Voir les informations du node (contient le runtime)
kubectl describe node <node-name> | grep "Container Runtime"

# Voir les images utilisées
kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{.spec.containers[*].image}{"\n"}{end}' | sort -u

Exercice 5: Pods sur un Node

Étape 1: Pods Assignés

# Voir tous les Pods sur un node spécifique
kubectl get pods --all-namespaces --field-selector spec.nodeName=<node-name>

# Compter les Pods par node
kubectl get pods --all-namespaces -o wide | awk '{print $7}' | sort | uniq -c

Étape 2: Ressources Utilisées

# Voir l'utilisation des ressources par Pod
kubectl top pods --all-namespaces

# Filtrer par node
kubectl top pods --all-namespaces | grep <node-name>

Questions de Réflexion

  1. Combien de Pods peuvent s'exécuter sur chaque node?
  2. Comment kubelet gère-t-il les ressources?
  3. Quel est le rôle de kube-proxy sur chaque node?
  4. Comment le Container Runtime est-il utilisé?

Nettoyage

Aucun nettoyage nécessaire.


Prochaines Étapes

Lab 2.3: Monitoring des Composants Système
Module 3: Pods et Déploiements


Lab créé le: Décembre 2024