Chapitre 1. Vue d'ensemble des nœuds
1.1. À propos des nœuds
Un nœud est une machine virtuelle ou bare-metal dans un cluster Kubernetes. Les nœuds de travail hébergent vos conteneurs d'application, regroupés sous forme de pods. Les nœuds du plan de contrôle exécutent les services nécessaires au contrôle du cluster Kubernetes. Dans OpenShift Container Platform, les nœuds du plan de contrôle contiennent plus que les services Kubernetes pour gérer le cluster OpenShift Container Platform.
Disposer de nœuds stables et sains dans un cluster est fondamental pour le bon fonctionnement de votre application hébergée. Dans OpenShift Container Platform, vous pouvez accéder à un nœud, le gérer et le surveiller par le biais de l'objet Node
représentant le nœud. À l'aide de la CLI OpenShift (oc
) ou de la console Web, vous pouvez effectuer les opérations suivantes sur un nœud.
Les composants suivants d'un nœud sont chargés de maintenir l'exécution des pods et de fournir l'environnement d'exécution Kubernetes.
- Exécution du conteneur: : Le runtime de conteneur est responsable de l'exécution des conteneurs. Kubernetes propose plusieurs runtimes tels que containerd, cri-o, rktlet et Docker.
- Kubelet: : Kubelet s'exécute sur les nœuds et lit les manifestes des conteneurs. Il s'assure que les conteneurs définis ont démarré et sont en cours d'exécution. Le processus kubelet maintient l'état du travail et du serveur de nœuds. Kubelet gère les règles du réseau et la redirection des ports. Le kubelet gère les conteneurs qui sont créés par Kubernetes uniquement.
- Kube-proxy: : Kube-proxy s'exécute sur chaque nœud du cluster et maintient le trafic réseau entre les ressources Kubernetes. Un Kube-proxy garantit que l'environnement réseau est isolé et accessible.
- DNS: : Cluster DNS est un serveur DNS qui sert les enregistrements DNS pour les services Kubernetes. Les conteneurs démarrés par Kubernetes incluent automatiquement ce serveur DNS dans leurs recherches DNS.
Opérations de lecture
Les opérations de lecture permettent à un administrateur ou à un développeur d'obtenir des informations sur les nœuds d'un cluster OpenShift Container Platform.
- Liste de tous les nœuds d'une grappe.
- Obtenir des informations sur un nœud, telles que l'utilisation de la mémoire et de l'unité centrale, l'état de santé, le statut et l'âge.
- Liste des pods en cours d'exécution sur un nœud.
Opérations de gestion
En tant qu'administrateur, vous pouvez facilement gérer un nœud dans un cluster OpenShift Container Platform grâce à plusieurs tâches :
-
Ajouter ou mettre à jour les étiquettes des nœuds. Une étiquette est une paire clé-valeur appliquée à un objet
Node
. Vous pouvez contrôler l'ordonnancement des pods à l'aide des étiquettes. -
Modifier la configuration du nœud à l'aide d'une définition de ressource personnalisée (CRD) ou de l'objet
kubeletConfig
. -
Configurez les nœuds pour qu'ils autorisent ou non la planification des modules. Les nœuds de travail sains ayant un statut
Ready
autorisent le placement de pods par défaut, tandis que les nœuds du plan de contrôle ne le font pas. Vous pouvez modifier ce comportement par défaut en configurant les nœuds de travail pour qu'ils ne soient pas ordonnançables et les nœuds du plan de contrôle pour qu'ils soient ordonnançables. -
Allouez des ressources aux nœuds à l'aide du paramètre
system-reserved
. Vous pouvez permettre à OpenShift Container Platform de déterminer automatiquement les ressources optimalessystem-reserved
CPU et mémoire pour vos nœuds, ou vous pouvez déterminer et définir manuellement les meilleures ressources pour vos nœuds. - Configurez le nombre de pods pouvant être exécutés sur un nœud en fonction du nombre de cœurs de processeur du nœud, d'une limite stricte ou des deux.
- Redémarrer un nœud avec élégance en utilisant l'anti-affinité des pods.
- Supprimez un nœud d'un cluster en réduisant la taille du cluster à l'aide d'un ensemble de machines de calcul. Pour supprimer un nœud d'un cluster bare-metal, vous devez d'abord drainer tous les pods sur le nœud, puis supprimer manuellement le nœud.
Opérations de renforcement
OpenShift Container Platform vous permet de faire plus que d'accéder aux nœuds et de les gérer ; en tant qu'administrateur, vous pouvez effectuer les tâches suivantes sur les nœuds pour rendre le cluster plus efficace, plus convivial pour les applications et pour fournir un meilleur environnement à vos développeurs.
- Gérer les réglages au niveau des nœuds pour les applications à hautes performances qui nécessitent un certain niveau de réglage du noyau en utilisant l'opérateur de réglage des nœuds.
- Activez les profils de sécurité TLS sur le nœud pour protéger la communication entre le kubelet et le serveur API Kubernetes.
- Exécuter automatiquement des tâches d'arrière-plan sur les nœuds à l'aide d'ensembles de démons. Vous pouvez créer et utiliser des ensembles de démons pour créer un stockage partagé, exécuter un pod de journalisation sur chaque nœud ou déployer un agent de surveillance sur tous les nœuds.
- Libérez les ressources des nœuds à l'aide de la collecte des ordures (garbage collection). Vous pouvez vous assurer que vos nœuds fonctionnent efficacement en supprimant les conteneurs terminés et les images qui ne sont pas référencées par les pods en cours d'exécution.
- Ajouter des arguments de noyau à un ensemble de nœuds.
- Configurez un cluster OpenShift Container Platform pour avoir des nœuds de travailleur à la périphérie du réseau (nœuds de travailleur à distance). Pour plus d'informations sur les défis posés par les nœuds de télétravail dans un cluster OpenShift Container Platform et sur certaines approches recommandées pour gérer les pods sur un nœud de télétravail, voir Utilisation de nœuds de télétravail à la périphérie du réseau.