Une règle de mise à jour de pool de nœuds vous permet de limiter le nombre de pools de nœuds mis à jour ou mis à niveau en même temps. Étant donné que les pools de nœuds sont mis à jour en parallèle par défaut, une simultanéité plus faible permet d'éviter les blocages de PodDisruptionBudget (PDB) et l'épuisement des ressources ou des adresses IP. Cependant, les mises à jour et les mises à niveau prennent plus de temps.
Exigences relatives aux ressources et aux adresses IP
Par défaut, les pools de nœuds sont mis à jour en parallèle. Pour chaque pool de nœuds en cours de mise à jour, le cluster crée un nœud de surutilisation. La mise à jour simultanée de plusieurs pools de nœuds peut entraîner les contraintes suivantes :
- Épuisement des ressources : la création de nœuds de surutilisation pour plusieurs pools de nœuds en parallèle peut dépasser le quota de calcul ou la capacité d'hôte disponible si la capacité supplémentaire est limitée.
- Blocages de PDB : le drainage de plusieurs nœuds à la fois peut entraîner des blocages de PodDisruptionBudget (PDB).
- Disponibilité des adresses IP : chaque pool de nœuds mis à jour en parallèle nécessite une adresse IP supplémentaire pour son nœud de surutilisation. Par exemple, pour mettre à jour trois pools de nœuds en parallèle, trois adresses IP supplémentaires doivent être disponibles :
- Si vos nœuds de calcul obtiennent des adresses IP à partir d'un serveur DHCP, celui-ci doit pouvoir fournir une adresse IP supplémentaire pour chaque pool de nœuds mis à jour en parallèle.
- Si vos nœuds de calcul utilisent des adresses IP statiques, votre fichier de bloc d'adresses IP doit contenir une adresse IP supplémentaire pour chaque pool de nœuds mis à jour en parallèle, en plus des adresses IP nécessaires pour les nœuds de calcul.
Si le nombre d'adresses IP supplémentaires disponibles est insuffisant pour mettre à jour tous les pools de nœuds en parallèle, le cluster met à jour autant de pools que possible en parallèle. À mesure que les adresses IP deviennent disponibles, les pools de nœuds restants sont mis à jour.
Configurer la stratégie de mise à jour du pool de nœuds
Notez les points suivants concernant les clusters avancés :
Version 1.31 : les règles de mise à jour des pools de nœuds ne sont pas compatibles avec les clusters avancés.
Version 1.32 : les règles de mise à jour des pools de nœuds sont compatibles avec les clusters avancés.
Versions 1.32.0 à 1.32.1000, 1.33.0 à 1.33.600 et 1.34.0 à 1.34.200 : sur les clusters avancés,
maximumConcurrentNodePoolUpdateest défini par défaut sur1, de sorte que les pools de nœuds sont mis à jour de manière séquentielle. Dans les versions de correctif ultérieures et dans les versions 1.35 et ultérieures, la valeur par défaut est0, de sorte que les pools de nœuds sont mis à jour en parallèle. Pour en savoir plus, consulteznodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate.
Dans la configuration de départ du cluster d'utilisateur user-cluster.yaml, vous pouvez configurer la stratégie de mise à jour du pool de nœuds pour mettre à jour les pools de nœuds de manière séquentielle ou avec une limite de simultanéité :
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
Le champ maximumConcurrentNodePoolUpdate contrôle la simultanéité des mises à jour :
0: conserve le comportement parallèle par défaut sur tous les pools de nœuds.1: met à jour les pools de nœuds de manière séquentielle. Bien que les mises à jour séquentielles évitent l'épuisement des ressources et des adresses IP, le processus de mise à jour prend plus de temps que la mise à jour en parallèle.- Un entier supérieur à
1: configure le nombre maximal de pools de nœuds à mettre à jour simultanément.
La stratégie de mise à jour du pool de nœuds s'applique à la fois à la mise à jour et à la mise à niveau du pool de nœuds, mais pas à sa création. Si une mise à jour ou une mise à niveau de pool de nœuds rencontre des problèmes et se bloque, le processus s'arrête au niveau de ce pool et ne passe pas au pool de nœuds suivant.