Réserves de ressources de noeud worker

Comprendre les réserves de ressources des nœuds de travail vous aide à planifier la capacité du cluster et à résoudre les problèmes liés à la planification des pods.

IBM Cloud Kubernetes Service définit des réserves de ressources de calcul qui limitent les ressources de calcul disponibles sur chaque noeud worker. La mémoire réservée, les ressources de l'unité centrale et les ID de processus (PID) ne peuvent pas être utilisés par les pods sur le noeud de travail, et réduisent les ressources allouables sur chaque noeud de travail. Lorsque vous commencez à déployer des pods, si le noeud worker ne dispose pas de ressources suffisantes pouvant être allouées, le déploiement échoue. De plus, si les pods dépassent la limite des ressources de mémoire et d'UC, ils sont expulsés. Dans Kubernetes, cette limite est appelée « seuil d'éviction strict ». Quant aux pods qui dépassent le nombre limite de PID, ils reçoivent autant de PID qu'il est possible d'en attribuer, mais ne sont pas expulsés en fonction des PID.

Quand vérifier les réserves de ressources

Vérifiez les réserves de ressources des nœuds de travail dans les cas suivants :

  • Planification de la capacité du cluster et détermination du nombre de nœuds de travail nécessaires
  • Dépannage des échecs de planification ou des expulsions de pods
  • Calcul des ressources disponibles pour vos charges de travail
  • Déterminer si vous devez ajouter des nœuds de travail supplémentaires à votre cluster

Si le nombre de PID, la capacité du processeur ou la mémoire disponibles sont inférieurs à ce que le nœud de travail a réservé, le service « Kubernetes » commence à expulser des pods afin de rétablir un niveau suffisant de ressources de calcul et de PID. Les pods sont replanifiés sur un autre noeud worker, le cas échéant. Si vos pods sont fréquemment expulsés, ajoutez des nœuds de travail supplémentaires à votre cluster ou définissez des limites de ressources pour vos pods.

Comprendre les niveaux de réserve de ressources

Les ressources réservées sur votre nœud de travail dépendent du nombre de PID, de la puissance de calcul et de la mémoire dont dispose ce nœud. Le document « IBM Cloud Kubernetes Service » définit les niveaux de PID, de puissance de calcul et de mémoire, comme indiqué dans les tableaux ci-dessous. Si votre nœud de travail dispose de ressources de calcul réparties sur plusieurs niveaux, un pourcentage de vos PID, de vos ressources CPU et de votre mémoire est réservé à chaque niveau.

Les clusters disposent également de réservations et de limites d'ID de processus (PID), pour empêcher un pod d'utiliser un nombre excessif de PID ou garantir un nombre suffisant de PID pour kubelet et d'autres composants système d'IBM Cloud Kubernetes Service. Si les réservations ou les limites de PID sont atteintes, Kubernetes ne crée pas ou n'affecte pas de nouveaux PID tant qu'il n'y a pas un nombre suffisant de processus supprimés pour libérer des PID existants. La quantité totale de PID sur un noeud worker correspond à environ 8000 PID par Go de mémoire sur le noeud worker. Par exemple, un noeud worker avec une mémoire de 16 Go comporte environ 128 000 PID (16 × 8,000 = 128,000).

Pour vérifier la quantité de ressources de calcul actuellement utilisées sur votre nœud de travail, exécutez kubectl top node.

Réserves de mémoire de noeud worker par niveau. Le tableau présente les niveaux de mémoire dans la première colonne, le pourcentage ou la quantité réservée dans la deuxième colonne, ainsi que des exemples de calculs pour deux tailles différentes de nœuds de travail dans les colonnes restantes.
Ce tableau présente les réserves de mémoire pour les nœuds de travail. La première colonne répertorie les niveaux de mémoire, la deuxième colonne indique le pourcentage ou la quantité réservée à chaque niveau, et les colonnes restantes fournissent des exemples de calculs pour un nœud de travail de 16 Go et un nœud de travail de 256 Go.
Niveau mémoire % ou montant réservé Exemple de noeud de travail b3c.4x16 (16 Go) Exemple pour un noeud worker mg1c.28x256 (256 Go)
4 premiers Go (0 à 4 Go) 25 % de mémoire 1 Go 1 Go
4 Go suivants (5 à 8 Go) 20 % de mémoire 0,8 Go 0,8 Go
8 Go suivants (9 à 16 Go) 10 % de mémoire 0,8 Go 0,8 Go
112 Go suivants (17 à 128 Go) 6 % de mémoire N/A 6,72 Go
Go restants (129 Go+) 2 % de mémoire N/A 2,54 Go
Réserve supplémentaire pour kubelet l'expulsion 100 Mo 100 Mo (montant fixe) 100 Mo (montant fixe)
Total réservé (variable) 2,7 Go sur un total de 16 Go 11,96 Go sur un total de 256 Go
Réserves d'UC de noeud worker par niveau. Le tableau présente, dans la première colonne, les niveaux de CPU, dans la deuxième colonne, le pourcentage ou la quantité réservée, et dans les colonnes restantes, des exemples de calculs pour deux tailles différentes de nœuds de travail.
Ce tableau présente les réserves de CPU pour les nœuds de travail. La première colonne répertorie les niveaux de CPU, la deuxième colonne indique le pourcentage ou la quantité réservée pour chaque niveau, et les colonnes restantes fournissent des exemples de calculs pour un nœud de travail à 4 cœurs et un nœud de travail à 28 cœurs.
Niveau de l'UC % ou montant réservé Exemple de noeud de travail b3c.4x16 (quatre coeurs) Exemple pour un noeud worker mg1c.28x256 (28 coeurs)
Premier coeur (Coeur 1) 6 % des coeurs 0,06 coeur 0,06 coeur
Deux coeurs suivants (Coeurs 2 à 3) 1 % des coeurs 0,02 coeur 0,02 coeur
Deux coeurs suivants (Coeurs 4 à 5) 0,5 % des coeurs 0,005 coeur 0,01 coeur
Coeurs restants (6 coeurs et +) 0,25 % des coeurs N/A 0,0575 coeur
Total réservé (variable) 0,085 coeur sur un total de quatre coeurs 0,1475 coeur sur un total de 28 coeurs
Réserves de PID des nœuds de travail par niveau. Le tableau présente, dans la première colonne, les plages totales de PID, dans la deuxième colonne, le pourcentage réservé, dans la troisième colonne, le pourcentage disponible pour les pods, et, dans les lignes restantes, des exemples de calculs pour deux tailles différentes de nœuds de travail.
Ce tableau présente les réserves PID pour les nœuds de travail. La première colonne répertorie les plages totales de PID, la deuxième colonne indique le pourcentage réservé, la troisième colonne indique le pourcentage disponible pour les pods, et les lignes restantes fournissent des exemples de calculs pour un nœud de travail disposant de 126 878 PID et pour un nœud de travail disposant de 2 062 400 PID.
Nombre total de PID % réservé % disponible pour les pods
200,000 20 % des PID 35 % des PID
200 000 à 499 999 10 % des PID 40 % des PID
≥ 500 000 5 % des PID 45 % des PID
Noeud de travail b3c.4x16 : 126,878 PIDs 25 376 PID (20 %) 44 407 PID (35 %)
Noeud de travail mg1c.28x256 : 2,062,400 PID 103 120 PID (5 %) 928 085 PID (45 %)
Réserves de stockage éphémère sur disque des nœuds de travail. Le tableau indique le fournisseur d'infrastructure dans la première colonne, le type de disque dans la deuxième colonne et le pourcentage d'espace disque réservé dans la troisième colonne.
Ce tableau présente les réserves de stockage éphémère sur disque pour les nœuds de travail. La première colonne indique le fournisseur d'infrastructure (Classic ou VPC), la deuxième colonne précise quel disque est utilisé, et la troisième colonne indique que 10 % de l'espace disque est réservé pour les deux fournisseurs.
Fournisseur d'infrastructure Disque % réservé du disque
Classique Disque secondaire 10%
VPC Disque d'amorçage 10%

Les exemples de valeurs de noeud worker indiquées sont fournies à titre d'exemple uniquement. Votre utilisation réelle peut légèrement varier.