Par défaut, les pools de nœuds sont mis à jour en parallèle. Cela peut potentiellement entraîner les problèmes suivants :
Problème de quota
Pour chaque pool de nœuds, un nœud de surutilisation sera créé. Ainsi, N pools de nœuds créeront N nœuds de surutilisation lorsqu'ils seront mis à jour en parallèle. Cela peut entraîner un épuisement des ressources si la capacité supplémentaire pour créer ces nœuds de surutilisation est limitée.
Problème d'interblocage PDB
Le drainage de plusieurs nœuds à la fois peut potentiellement entraîner des impasses PDB.
Pour que N pools de nœuds soient mis à jour en parallèle, N adresses IP supplémentaires doivent être disponibles pour les nœuds de surutilisation. Si vos nœuds de calcul obtiennent leurs adresses IP auprès d'un serveur DHCP, ce serveur doit pouvoir fournir N adresses IP supplémentaires. Si vos nœuds de calcul utilisent des adresses IP statiques, votre fichier de bloc d'adresses IP doit contenir N adresses IP supplémentaires en plus de celles nécessaires pour les nœuds de calcul.
S'il n'y a pas assez d'adresses IP supplémentaires disponibles pour mettre à jour tous les nœuds N en parallèle, nous mettons à jour autant de pools que possible en parallèle. À mesure que des adresses IP deviennent disponibles, nous mettons à jour les pools de nœuds restants.
Ce document explique comment spécifier une stratégie de mise à jour du pool de nœuds pour configurer le nombre maximal de nœuds à mettre à jour simultanément lors de la mise à jour du pool de nœuds, ce qui peut aider à éviter les deux problèmes mentionnés. "0" signifie que le comportement parallèle actuel est conservé (valeur par défaut). "1" signifie que les pools de nœuds seront mis à jour de manière séquentielle.
Notez que si la mise à jour séquentielle peut éviter les deux problèmes, elle peut rendre le processus de mise à jour du pool de nœuds plus long que la mise à jour en parallèle.
Notez la limitation suivante 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.
Configurer la stratégie de mise à jour du pool de nœuds
Dans la configuration initiale du cluster d'utilisateur user-cluster.yaml, vous pouvez configurer la mise à jour du pool de nœuds pour qu'elle soit effectuée de manière séquentielle, comme suit :
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
maximumConcurrentNodePoolUpdate
peut être défini sur une valeur entière arbitraire pour configurer le nombre de pools de nœuds que vous souhaitez mettre à jour en même temps.
La stratégie de mise à jour du pool de nœuds s'applique à la mise à jour et à la mise à niveau du pool de nœuds, mais pas à sa création. De plus, si une mise à jour/mise à niveau d'un pool de nœuds rencontre des problèmes et reste bloquée, le comportement actuel est que nous bloquons le processus et ne passons pas à la mise à jour du pool de nœuds suivant.