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.
| 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 |
| 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 |
| 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 %) |
| 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.