Aller au contenu

Node Autoscaling

Le Kubernetes Nodes Autoscaler ou Cluster Autoscaler ajoute ou supprime automatiquement des nœuds dans un cluster en fonction des ressources demandées par les pods de ce cluster.

Lorsque vous demandez la création d'un nouvel environnement Caascad, vous précisez si vous souhaitez ou non, activer l'autoscaling de nœuds. Dans le cas où vous souhaitez l'activer, vous indiquez également le nombre de nœuds minimum, minNodes, le nombre de nœuds maximum, maxNodes, et le nombre de nœuds qui doivent être créés par défaut à l'initialisation du cluster, desiredNodes.

Note

Vous pouvez demander au support Caascad la modification de ces paramètres tout au long du cycle de vie de votre environnement.

Flexible Engine : paramétrages CCE

Nodepools et zones de disponibilité (Availability Zones)

Pour utiliser le node autoscaling sur plusieurs zones de disponibilité (AZ) et afin de garantir l'autoscaling sur l'AZ attendue, un nodepool par AZ doit être créé sur Flexible Engine.

Exemple

Vous souhaitez créer un environnement disponible sur les AZ a, b et c, avec un nombre minimum de 3 nœuds et un nombre maximum de 9 nœuds.

Sur Flexible Engine, vous disposerez de :
- 1 nodepool sur l'AZ a avec un minimum de 1 nœud et un maximum de 3 nœuds
- 1 nodepool sur l'AZ b avec un minimum de 1 nœud et un maximum de 3 nœuds
- 1 nodepool sur l'AZ c avec un minimum de 1 nœud et un maximum de 3 nœuds

Upscale et downscale : paramétrages par défaut

Par défaut, les paramétrages de l'autoscaling sur le service CCE de Flexible Engine dans les environnements Caascad, sont les suivants :

  • Auto scale-in | scaleUpUtilizationEnabled: true
    activation de l'upscaling sur l'utilisation de ressources
  • auto scale-out | scaleUpUnscheduledPodEnabled: true
    activation de l'upscaling sur l'évènement pod en statut pending
  • Idle Time | IdleTime : 5
    délai en minutes durant lequel un nœud doit rester inactif avant d'être retiré du cluster
  • Resource Usage | scaleDownUtilizationThreshold : 0,5
    utilisation des ressources qu'un nœud doit atteindre avant de pouvoir être supprimé du cluster. Valeur comprise entre 0 et 1.
  • Scale-in Cooldown After Scale-out | scaleDownDelayAfterAdd : 10
    délai en minutes après l'ajout d'un nœud, avant que l'évaluation de downscale soit relancée
  • Scale-in Cooldown After Node Deletion | scaleDownDelayAfterDelete : 10
    délai en minutes après la suppression d'un nœud avant que l'évalution de downscale soit relancée
  • Scale-in Cooldown After Failure | scaleDownDelayAfterFailure : 3
    délai en minutes après un échec de suppression d'un noeud, avant que le downscale ne soit relancé
  • Max empty bulk delete | maxEmptyBulkDeleteFlag : 10
    nombre maximum de nœuds vides qui peuvent être supprimés en même temps
  • Node Recheck Timeout | unremovableNodeRecheckTimeout : 5
    délai en minutes avant que l'autoscaler vérifie à nouveau le nœud qui n'a pas pu être retiré précédemment.

Pour en savoir plus sur les paramètres de l'autoscaler CCE, consultez la documentation Flexible Engine.

Comment tester et modifier les paramétrages de l'autoscaler

Vous avez la possiblité de modifier les paramètrages par défaut de l'autoscaler CCE depuis la console Flexible Engine, pour effectuer vos tests.

Pour cela, connectez-vous à l'un de vos environnements de non production sur la console Flexible Engine et rendez-vous sur CCE > Add ons > Parameters


Depuis l'interface graphique, vous pouvez agir sur les paramétrages du node autoscaler CCE puis observer les résultats sur votre environnement de non production.

Important

Une fois vos ajustements terminés et vos paramètres définis, contactez le support Caascad pour demander l'application de ces modifications as code, sur le ou les environnements de votre choix.