Mise à l’échelle automatique du cluster dans AKS activée par Azure Arc
S’applique à : AKS sur Azure Local 22H2, AKS sur Windows Server
Vous pouvez ajuster le nombre de nœuds qui exécutent des charges de travail d’application dans AKS Arc à l’aide d’Azure Kubernetes Service (AKS) pour maintenir la demande. Vous pouvez utiliser PowerShell pour activer l’autoscaler et gérer la mise à l’échelle automatique des pools de nœuds dans vos clusters cibles.
Cet article décrit le contexte de l’autoscaler dans AKS activé par Arc et le fonctionnement du générateur de mise à l’échelle automatique. Pour que la mise à l’échelle automatique du cluster fonctionne efficacement, vous pouvez également utiliser la mise à l’échelle automatique de pod horizontal Kubernetes, qui est un composant Kubernetes standard. Pour plus d’informations sur la mise à l’échelle automatique des pods horizontaux Kubernetes, consultez mise à l’échelle automatique des pods horizontaux.
Mise à l’échelle automatique du cluster
Dans AKS, l’autoscaler de cluster surveille les pods de votre cluster qui ne peuvent pas être planifiés en raison de contraintes de ressources. Quand des problèmes sont détectés, le nombre de nœuds dans un pool de nœuds augmente pour répondre à la demande applicative. Les nœuds sont également régulièrement vérifiés. En l’absence de pods exécutés, le nombre de nœuds est réduit au besoin. Cette possibilité d’augmenter ou de réduire automatiquement le nombre de nœuds dans votre cluster AKS vous permet d’exécuter des clusters performants et économiques. La mise à l’échelle automatique est la capacité du système à ajuster automatiquement vos charges de travail grâce à l’automatisation et à la mise en place d’une configuration contenant des paramètres spécifiques basés sur des entrées, des mesures et des règles.
Pour activer la mise à l’échelle automatique du cluster, AKS doit implémenter la gestion des ressources de base. AKS estime les besoins en ressources qui déclenchent des événements de mise à l’échelle automatique à un moment donné. AKS ne prend pas en compte la consommation des ressources en dehors d’AKS Arc. Par exemple, lorsque vous ajoutez des machines virtuelles après avoir activé le générateur de mise à l’échelle automatique, cet événement se produit en dehors du contexte du générateur de mise à l’échelle automatique.
Objectif de la mise à l’échelle automatique de cluster
L’autoscaler fait automatiquement passer la taille d’un pool de nœuds du nombre minimal au nombre maximal de nœuds spécifiés. Lorsque vous activez la mise à l’échelle automatique, le générateur de mise à l’échelle automatique détermine si le nombre maximal de nœuds est réalisable et vous avertit du surapprovisionnement des ressources matérielles disponibles.
L’autoscaler fait le suivi des ressources disponibles et promises sur tous les clusters cibles et pools de nœuds déployés. L’autoscaler utilise ces données pour prendre une décision éclairée. À mesure que le générateur de mise à l’échelle automatique augmente le pool de nœuds, le générateur de mise à l’échelle automatique vérifie la disponibilité des ressources.
AKS Arc utilise la fonctionnalité de mise à l’échelle automatique Kubernetes intégrée pour prendre en charge les opérations similaires à la mise à l’échelle automatique Azure.
Fonctionnement de la mise à l’échelle automatique de cluster
L’autoscaler s’adapte aux demandes fluctuantes des applications. Pour répondre au changement des demandes entre les charges de travail en journée et en soirée, l’autoscaler déplace les ressources de vos clusters. Les clusters Kubernetes sont mis à l’échelle de deux façons :
- Déclencheurs basés sur l’utilisation des nœuds. L’autoscaler de cluster recherche les pods qui ne peuvent pas être planifiés sur des nœuds en raison de contraintes de ressources. L’autoscaler de cluster diminue le nombre de nœuds lorsque la capacité est inutilisée pendant un certain temps.
- Déclencheurs définis dans les profils de l’autoscaler. L’autoscaler de cluster utilise des paramètres de démarrage pour les déclencheurs, comme des intervalles de temps entre les événements de mise à l’échelle et des seuils de ressources. Consultez Profils de l’autoscaler.
Quand vous activez la mise à l’échelle automatique sur un pool de nœuds, le profil par défaut est appliqué, sauf si vous remplacez un ou plusieurs des paramètres en utilisant le paramètre -ClusterAutoScalingProfile
sur Set-AksHciCluster
. À moins que vous ne l’activiez, l’état par défaut de l’autoscaler de nœud est désactivé au moment de la création du cluster et du pool de nœuds.
Quand vous activez la mise à l’échelle automatique pour un cluster sans fournir d’objet autoscalerconfig, le profil d’autoscaler par défaut est ajouté au cluster. Vous pouvez ensuite ajuster les paramètres dans le profil à l’aide de la Set-AksHciCluster
commande et passer un objet de mise à l’échelle automatique avec les valeurs mises à jour. Il est inutile de fournir tous les paramètres dans l’objet ; vous pouvez simplement inclure vos paramètres mis à jour dans l’objet.
Utilisation de l’autoscaler
Vous pouvez définir les paramètres dans le profil de l’autoscaler pour le configurer. Pour plus d’informations, consultez le guide pratique pour utiliser les profils de l’autoscaler.
Vous pouvez utiliser PowerShell pour activer, configurer et désactiver l’autoscaler. Pour plus d’informations, consultez Utiliser PowerShell pour la mise à l’échelle automatique de cluster.
Mise à l’échelle automatique de cluster lors d’une mise à niveau de cluster
Pendant la mise à niveau et la mise à jour d’un cluster, la mise à l’échelle automatique est suspendue et aucune opération de mise à l’échelle ne se produit tant que le cluster et tous les pools de nœuds du cluster n’ont pas terminé l’opération de mise à jour. Si un pool de nœuds spécifique d’un cluster est mis à jour vers une version plus récente de Kubernetes, l’autoscaler pour ce pool de nœuds est suspendu. L’opération de mise à l’échelle automatique se poursuit sur tous les autres pools de nœuds.