L'auto-scaling des charges de travail et des ressources de calcul ajuste dynamiquement le nombre de réplicas de pods et la capacité du cluster pour absorber les pics de trafic et réduire les coûts.
Notes d'utilisation
Avant de configurer l'auto-scaling des charges de travail et l'auto-scaling des nœuds, familiarisez-vous avec les solutions communautaires telles que Horizontal Pod Autoscaler (HPA), Vertical Pod Autoscaler (VPA), et Cluster Autoscaling.
Si votre cluster compte plus de 500 nœuds ou 10 000 pods, consultez la rubrique Planification des taux de mise à l'échelle afin de garantir la stabilité du cluster et du plan de contrôle.
Auto-scaling des charges de travail et des ressources de calcul
L'auto-scaling dans ACK fonctionne sur deux niveaux :
Auto-scaling des charges de travail : Ajuste le nombre de pods ou l'allocation des ressources par pod au niveau de la couche de planification. Par exemple, HPA met à l'échelle les pods d'application en fonction des variations du trafic.
Auto-scaling des ressources de calcul : Ajuste les ressources du cluster via l'auto-scaling des nœuds et l'auto-scaling des nœuds virtuels, en se basant sur la planification des pods et l'utilisation des ressources.
Combinez ces deux niveaux pour améliorer l'utilisation des ressources tout en répondant aux exigences de planification des pods.
Solutions d'auto-scaling des charges de travail
Pour une mise à l'échelle ponctuelle, exécutez kubectl scale afin d'ajuster manuellement le nombre de pods. Pour un auto-scaling automatisé, choisissez parmi les solutions d'auto-scaling des charges de travail suivantes.
|
Solution |
Description |
Métrique de mise à l'échelle |
Scénario |
Références |
|
HPA |
HPA augmente le nombre de pods pendant les pics d'activité et le réduit durant les périodes creuses pour optimiser les coûts. Cette solution convient à la plupart des scénarios. |
|
Idéal pour les services en ligne soumis à de fréquentes fluctuations de trafic, tels que le commerce électronique, l'enseignement en ligne et les services financiers. |
|
|
CronHPA |
CronHPA met à l'échelle les pods selon un planning prédéfini de type Crontab, avec prise en charge des fuseaux horaires et des dates. Il est possible d'exclure certaines dates, comme les jours fériés. Compatible avec HPA. |
Mise à l'échelle planifiée |
Convient parfaitement aux applications dont les modèles de trafic sont prévisibles ou aux tâches planifiées. |
|
|
VPA |
VPA surveille la consommation de ressources des pods, recommande l'allocation de CPU et de mémoire, et ajuste cette allocation sans modifier le nombre de réplicas. |
VPA recommande et peut ajuster automatiquement les requêtes et limites de CPU et de mémoire pour les pods. |
Idéal pour une allocation stable des ressources, comme pour les applications stateful et les déploiements monolithiques de grande taille. VPA prend généralement effet lorsque les pods se rétablissent après des anomalies. |
|
|
Kubernetes-based Event Driven Autoscaling (KEDA) |
KEDA permet l'auto-scaling piloté par les événements pour les charges de travail issues de diverses sources d'événements. |
Nombre d'événements, tels que la longueur de la file d'attente. |
Convient aux travaux hors ligne basés sur des événements nécessitant une mise à l'échelle instantanée, tels que le transcodage vidéo et audio, les travaux pilotés par les événements et le traitement de flux. |
|
|
Advanced Horizontal Pod Autoscaler (AHPA) |
AHPA apprend les modèles de fluctuation des charges de travail à partir des métriques historiques pour prévoir la demande en ressources et permettre une mise à l'échelle prédictive. |
|
Idéal pour les modèles de trafic périodiques, tels que le streaming en direct, l'enseignement en ligne et les jeux vidéo. |
Le contrôleur UnitedDeployment gère des charges de travail de même type sur plusieurs sous-ensembles, avec un ajustement des réplicas par sous-ensemble. Combinez-le avec les solutions de mise à l'échelle ci-dessus pour une flexibilité accrue entre les différents types de ressources de calcul. Consultez la rubrique Implémentation de l'auto-scaling des charges de travail basé sur le contrôleur UnitedDeployment.
Mise à l'échelle des ressources de calcul
Les composants de mise à l'échelle des ressources de calcul détectent les pods en attente et provisionnent des nœuds ECS ou des instances de conteneur élastiques pour répondre aux exigences de planification.
Pour comparer les différentes méthodes de mise à l'échelle des nœuds, consultez la rubrique Node scaling.
Les statistiques de fourniture des ressources présentées dans le tableau suivant sont théoriques. Les valeurs réelles peuvent varier selon l'environnement.
|
Solution |
Description |
Scénario |
Efficacité de la fourniture des ressources |
Références |
|
Mise à l'échelle automatique des nœuds |
ACK met automatiquement à l'échelle les nœuds lorsque les ressources du cluster ne permettent pas de planifier les pods. |
Cette méthode convient à tous les scénarios, en particulier pour les services en ligne, les tâches d'apprentissage profond et les mises à l'échelle de petite ampleur. Elle est recommandée pour les clusters comportant moins de 20 pools de nœuds avec mise à l'échelle automatique, ou des pools de nœuds contenant moins de 100 nœuds. |
Temps nécessaire pour ajouter 100 nœuds à un cluster :
|
|
|
Mise à l'échelle instantanée des nœuds |
La mise à l'échelle instantanée des nœuds offre une mise à l'échelle plus rapide, des taux de réussite de fourniture plus élevés et une surveillance de l'état de l'inventaire des instances ECS par rapport à la mise à l'échelle automatique des nœuds. Consultez la section Solution comparison. |
Utilisez cette méthode pour tous les scénarios, en particulier les clusters de grande envergure nécessitant une mise à l'échelle plus rapide, une mise à l'échelle multi-types d'instances et multi-zones, ou une planification avancée telle que les contraintes de répartition topologique. Un cluster est considéré comme grand si l'un des pools de nœuds avec mise à l'échelle automatique contient plus de 100 nœuds ou si le cluster comporte plus de 20 pools de nœuds avec mise à l'échelle automatique. |
Temps nécessaire pour ajouter 100 nœuds à un cluster :
|
|
|
Nœuds virtuels |
Les nœuds virtuels éliminent la gestion des nœuds et la planification de la capacité. Un cluster prend en charge jusqu'à 50 000 pods sur des nœuds virtuels, avec la possibilité de créer jusqu'à 10 000 pods en 1 minute lors d'une montée en charge. |
Conçu pour les scénarios de tâches, de tâches planifiées, de calcul de données, d'applications d'IA et de pics de charge de travail. |
Temps nécessaire pour créer 1 000 pods dans un cluster :
|
Facturation
La mise à l'échelle automatique est gratuite. Le composant de mise à l'échelle s'exécute sous forme de pods ; votre cluster doit donc disposer d'au moins un nœud. Vous êtes facturé pour les nœuds ajoutés via la mise à l'échelle automatique. Consultez la rubrique Billing overview.
FAQ
Consultez la rubrique FAQ sur la mise à l'échelle automatique.
Références
Pour une préinstallation ou une mise à l'échelle haute performance, consultez la rubrique Custom images for scaling optimization.
Pour collecter les journaux de mise à l'échelle automatique, reportez-vous à la section Collect log files of system components.
Lors de la configuration de vos charges de travail, suivez les recommandations indiquées dans la rubrique Recommended workload configurations.
Pour les conteneurs serverless, Knative ajuste le nombre de pods en fonction du nombre de requêtes et du niveau de concurrence, y compris la mise à l'échelle à zéro. Pour plus d'informations, consultez la rubrique Enable auto scaling to withstand traffic fluctuations.