Comprendre les ordinateurs hôtes de pods dans l'architecture Kubernetes
Dans l'architecture Kubernetes, un Pod Host Computer (plus couramment appelé nœud de travail ou simplement nœud) sert de machine physique ou virtuelle qui exécute et gère les pods Kubernetes — les plus petites unités déployables dans un cluster Kubernetes.
Responsabilités principales
Ordonnancement et placement des pods
Bien que l'ordonnanceur Kubernetes (sur le plan de contrôle) prenne les décisions de placement, le Pod Host Computer les exécute. Chaque nœud exécute un agent kubelet qui communique avec le plan de contrôle, reçoit les affectations de pods et s'assure que les conteneurs s'exécutent comme spécifié.
Gestion et allocation des ressources
Les nœuds allouent calcul, mémoire, stockage aux pods selon leurs demandes et limites de ressources. Le kubelet surveille l'utilisation et applique les limites, empêchant un pod d'en affamer d'autres. Inclut limitation CPU, limites mémoire, gestion stockage éphémère.
Connectivité réseau
Chaque nœud exécute un plugin CNI (Container Network Interface) qui attribue adresses IP aux pods, configure le routage, établit la connectivité entre pods across nœuds. Le nœud exécute aussi kube-proxy, qui maintient les règles réseau pour l'équilibrage de charge des Services et l'accès externe.
Opérations du runtime de conteneurs
Les nœuds exécutent un runtime de conteneurs (containerd, CRI-O, Docker Engine) qui gère le tirage d'images, le cycle de vie des conteneurs, les opérations bas niveau. Le kubelet interagit via l'interface CRI (Container Runtime Interface).
Surveillance santé et auto-guérison
Le kubelet surveille continuellement la santé des pods via sondes liveness et readiness. Si un conteneur échoue sa sonde liveness, le kubelet le redémarre selon la politique de redémarrage du pod. Les nœuds rapportent aussi leur propre santé au plan de contrôle.
Gestion du stockage
Les nœuds gèrent le montage et l'attachement de volumes pour le stockage persistant. Ils travaillent avec les pilotes CSI (Container Storage Interface) pour provisionner, attacher, monter les volumes persistants aux pods selon les demandes.
Types de nœuds et haute disponibilité
Les clusters production exécutent typiquement plusieurs nœuds de travail pour la haute disponibilité. Si un nœud échoue, le plan de contrôle réoriente ses pods vers nœuds sains. Les nœuds peuvent être :
- Serveurs physiques avec composants Kubernetes installés
- Machines virtuelles en environnements sur site ou cloud
- Nœuds gérés dans services comme EKS, GKE, AKS où le fournisseur cloud gère le plan de contrôle et optionnellement les nœuds
Considérations de mise à l'échelle
L'échelle du cluster implique ajout/retrait nœuds. Le Cluster Autoscaler (ou équivalents cloud) ajuste automatiquement le nombre de nœuds selon les demandes d'ordonnancement de pods. Lors de la réduction, les pods sont évacués gracieusement et réorientés avant terminaison du nœud.
Comprendre les Pod Host Computers est fondamental aux opérations Kubernetes, car ils représentent la capacité de calcul réelle où s'exécutent vos charges de travail conteneurisées.
