Les pools de nœuds sont mis à jour en parallèle par défaut. Cela peut entraîner deux problèmes potentiels:
Problème de quota
Pour chaque pool de nœuds, un nœud de surutilisation est créé, de sorte que N pools de nœuds créent N nœuds de surutilisation lorsqu'ils sont mis à jour en parallèle. Cela peut entraîner l'é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 entraîner des interblocages 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, votre serveur DHCP 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.
Si le nombre d'adresses IP supplémentaires disponibles n'est pas suffisant pour mettre à jour tous les nœuds N en parallèle, nous mettons à jour autant de pools que possible en parallèle. Lorsque des adresses IP deviennent disponibles, nous mettons à jour les autres pools de nœuds.
Cet article 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 conserver le comportement parallèle actuel, qui est la valeur par défaut. La valeur 1 indique que les pools de nœuds sont mis à jour de manière séquentielle.
Notez que si la mise à jour séquentielle peut éviter les deux problèmes, elle peut ralentir le processus de mise à jour du pool de nœuds par rapport à la mise à jour en parallèle.
Configurer la stratégie de mise à jour du pool de nœuds
Dans la configuration de semences de cluster utilisateur user-cluster.yaml, vous pouvez configurer la mise à jour du pool de nœuds 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 fois à la mise à jour et à la mise à niveau du pool de nœuds, mais pas à la création. En cas de problème et de blocage lors de la mise à jour/mise à niveau d'un pool de nœuds, le comportement actuel consiste à bloquer l'opération et à ne pas passer à la mise à jour du prochain pool de nœuds.