Partager via


Utiliser le profil de mise à l’échelle automatique pour configurer la mise à l’échelle automatique du cluster dans AKS activé par Arc

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Vous pouvez utiliser les paramètres de l’objet de profil de mise à l’échelle automatique pour définir des événements de mise à l’échelle dans AKS activés par Arc. Le profil de mise à l’échelle automatique du cluster affecte tous les pools de nœuds qui utilisent le générateur de mise à l’échelle automatique du cluster ; vous ne pouvez pas définir un profil de mise à l’échelle automatique par pool de nœuds. Cet article explique comment fonctionne le générateur de mise à l’échelle automatique, décrit les valeurs de profil de mise à l’échelle automatique par défaut et explique comment configurer et utiliser une définition de profil.

Utilisation de profils

Les profils de mise à l’échelle automatique de cluster ont les attributs suivants :

  • Les profils de mise à l’échelle automatique s’appliquent à tous les pools de nœuds d’un cluster.
  • Les profils sont des objets de niveau déploiement global.
  • Plusieurs profils sont disponibles dans AKS Arc.
  • Un seul profil est affecté à un cluster donné. Le profil est utilisé pour tous les pools de nœuds dans le cluster.
  • Les modifications apportées au profil sont appliquées à tous les pools de nœuds sur utilisant la fonction de mise à l’échelle automatique activée.

Paramètres du profil

Le profil par défaut se compose des valeurs par défaut ci-dessous. Vous pouvez mettre à jour les paramètres suivants.

Setting Description Valeur par défaut
min-node-count Nombre minimal de nœuds auquel ce profil est affecté peut être réduit. 0
max-node-count Nombre maximal de nœuds auxquels ce profil est affecté peut monter en puissance. 1
scan-interval Fréquence à laquelle le cluster est réévalué pour effectuer un scale-up ou un scale-down. 10 secondes
scale-down-delay-after-add Durée, après le scale-up, à l’issue de laquelle s’effectue la reprise de l’évaluation de scale-down. 10 minutes
scale-down-delay-after-delete Durée, après la suppression du nœud, à l’issue de laquelle s’effectue la reprise de l’évaluation de scale-down. scan-interval
scale-down-delay-after-failure Combien de temps après une défaillance de scale-down qui reprend l’évaluation de scale-down. 3 minutes
scale-down-unneeded-time Durée pendant laquelle un nœud doit être inutile avant d’être éligible pour un scale-down. 10 minutes
scale-down-unready-time Durée pendant laquelle un nœud non prêt doit être inutile avant d’être éligible pour un scale-down. 20 minutes
scale-down-utilization-threshold Niveau d’utilisation du nœud, défini comme la somme des ressources demandées divisées par capacité, sous laquelle un nœud peut être pris en compte pour un scale-down. 0,5
max-graceful-termination-sec Nombre maximal de secondes pendant lesquelles la mise à l’échelle automatique de cluster attend l’arrêt d’un pod lors d’une tentative de scale-down d’un nœud. 600 secondes
balance-similar-node-groups Détecte les pools de nœuds similaires et équilibre le nombre de nœuds entre eux. false
expander Type de pool de nœuds expander à utiliser dans un scale-up Valeurs possibles : most-pods, random, least-waste, priority. random
skip-nodes-with-local-storage Si la valeur est true, l’autoscaler de cluster ne supprime jamais de nœuds avec des pods avec un stockage local, par exemple EmptyDir ou HostPath. true
skip-nodes-with-system-pods Si la valeur est true, l’autoscaler de cluster ne supprime jamais les nœuds avec des pods (à l’exception des kube-system pods DaemonSet ou miroir). true
max-empty-bulk-delete Nombre maximal de nœuds vides pouvant être supprimés en même temps 10
new-pod-scale-up-delay Pour les scénarios tels que l’échelle de burst/batch où vous ne souhaitez pas que l’autorité de certification agisse avant que le planificateur Kubernetes puisse planifier tous les pods, vous pouvez indiquer à l’autorité de certification d’ignorer les pods non planifiés avant qu’ils ne soient d’un certain âge. 0 seconde
max-total-unready-percentage Pourcentage maximal de nœuds non prêts dans le cluster. Une fois ce pourcentage dépassé, l’autorité de certification arrête les opérations. 45 %
max-node-provision-time Durée maximale pendant laquelle la mise à l’échelle automatique attend qu’un nœud soit provisionné. 15 minutes

Remarques sur la configuration de la mise à l’échelle automatique

Vous pouvez modifier les paramètres dans le profil de mise à l’échelle automatique du cluster à l’aide de l’applet de commande PowerShell Set-AksHciAutoScalerConfig .

Le programme de mise à l’échelle automatique de cluster prend les décisions de mise à l’échelle en fonction des nombres minimum et maximum définis sur chaque pool de nœuds, mais il ne les applique pas après la mise à jour des nombres minimum ou maximum. Par exemple, la définition d’un nombre minimal de 5 lorsque le nombre de nœuds actuel est de 3 ne met pas immédiatement à l’échelle le pool jusqu’à 5.

Si le nombre minimal sur le pool de nœuds a une valeur supérieure au nombre actuel de nœuds, les nouveaux paramètres minimum ou maximal sont respectés lorsqu’il existe suffisamment de pods non planifiés qui nécessitent deux nouveaux nœuds supplémentaires et déclenchent un événement de mise à l’échelle automatique. Après l’événement de mise à l’échelle, les nouvelles limites de nombre sont respectées.

Vous pouvez également configurer une plus grande précision dans les détails de la mise à l’échelle automatique de cluster en changeant les valeurs par défaut du profil de mise à l’échelle automatique sur l’ensemble du cluster. Par exemple, un événement de scale-down se produit après que les nœuds sont sous-utilisés pendant 10 minutes. Si vous avez des charges de travail qui s’exécutent toutes les 15 minutes, vous souhaitez peut-être modifier le profil de mise à l’échelle automatique pour effectuer un scale-down des nœuds sous-utilisés après 15 ou 20 minutes. Lorsque vous activez l’option de mise à l’échelle automatique de cluster, un profil par défaut est utilisé, à moins de spécifier différents paramètres.

Enregistrer et charger le profil de mise à l’échelle automatique

Vous pouvez enregistrer et stocker votre profil de mise à l’échelle automatique dans une définition de profil en tant que fichier YAML. Vous pouvez modifier manuellement le fichier YAML à partir d’un éditeur de texte et charger des définitions enregistrées.

Enregistrer votre définition de profil

Vous enregistrez une copie du profil en tant que fichier YAML à l’aide kvactlde . Après avoir défini votre profil, exécutez les commandes suivantes :

kvactl.exe autoscalerprofile get --name default --kubeconfig (Get-AksHciConfig).Kva.kubeconfig --outputformat=yaml > def.yaml

Modifier votre définition de profil

Vous pouvez modifier la définition de profil dans le fichier YAML. Par exemple, vous pouvez ouvrir def.yaml dans le Bloc-notes, Visual Studio Code ou d’autres éditeurs de texte.

Charger votre définition de profil

Vous pouvez charger la définition de profil à l’aide kvactl du fichier YAML enregistré. Exécutez la commande suivante :

kvactl.exe autoscalerprofile create --profileconfig .\def-new.yaml --kubeconfig (Get-AksHciConfig).Kva.kubeconfig

Étapes suivantes