Advanced Horizontal Pod Autoscaler (AHPA) est une fonctionnalité de mise à l'échelle automatique prédictive proposée par Container Service for Kubernetes (ACK). Elle analyse les données historiques des métriques pour anticiper la demande de charge de travail et provisionne les pods avant les pics de trafic, éliminant ainsi le délai réactif inhérent à la mise à l'échelle automatique standard de Kubernetes.
Contexte
Les approches standard de mise à l'échelle automatique de Kubernetes présentent chacune des compromis :
| Méthode | Limitation |
|---|---|
| Nombre fixe de pods | Les pods inactifs gaspillent des ressources pendant les heures creuses |
| Horizontal Pod Autoscaler (HPA) | La mise à l'échelle ne se déclenche qu'après que l'utilisation des ressources a franchi un seuil ; les pods ne sont donc prêts qu'après l'augmentation de la demande |
| CronHPA | Nécessite de définir manuellement le nombre de pods pour chaque créneau horaire — 1 440 planifications distinctes pour couvrir une journée entière avec une granularité à la minute — et doit être mis à jour dès que les modèles de trafic changent |
AHPA remédie à ces limitations en apprenant à partir des données historiques. Au lieu de réagir à la demande une fois celle-ci arrivée, AHPA identifie les fluctuations de la charge de travail en se basant sur les valeurs historiques de métriques spécifiques et sur le temps nécessaire pour qu'un pod passe à l'état Ready. Cela permet à AHPA de pré-provisionner le nombre exact de pods requis par minute pour les 24 prochaines heures, garantissant ainsi que la capacité est disponible lorsque le trafic arrive.
Fonctionnement
Métriques prises en charge
AHPA met à l'échelle les charges de travail en fonction du CPU, du GPU, de la mémoire, du nombre de requêtes par seconde (QPS), du temps de réponse (RT) et des métriques externes.
Mécanismes de prédiction
AHPA utilise deux mécanismes de prédiction complémentaires :
Prédiction proactive — Analyse les données historiques des métriques pour détecter les motifs périodiques et prévoir la demande future. Cette méthode convient aux charges de travail présentant des cycles de trafic réguliers et récurrents.
Prédiction passive — Surveille les métriques en temps réel et ajuste la capacité dynamiquement à mesure que les conditions évoluent.
Ensemble, ces mécanismes atteignent une précision supérieure à 95 % dans l'identification des fluctuations de la charge de travail.
Dégradation du service
Lorsque les charges de travail se comportent de manière imprévue, AHPA vous permet de définir des nombres minimum et maximum de pods pour des périodes spécifiques, avec une précision à la minute, servant ainsi de plancher et de plafond de sécurité.
Cibles de mise à l'échelle
AHPA s'intègre à trois mécanismes de mise à l'échelle :
| Cible de mise à l'échelle | Utilisation par AHPA |
|---|---|
| Knative | Résout la latence de démarrage à froid dans les scénarios serverless en effectuant une mise à l'échelle basée sur la concurrence, le QPS ou le RT |
| HPA | Enveloppe le HPA standard avec une logique prédictive, simplifiant la configuration des politiques et supprimant le délai réactif |
| Deployment | Met à l'échelle les Deployments directement sans nécessiter HPA comme intermédiaire |
Principales fonctionnalités
| Fonctionnalité | Détail |
|---|---|
| Vitesse de prédiction | Prévoit les fluctuations de la charge de travail en quelques millisecondes |
| Vitesse de mise à l'échelle | Provisionne les pods en quelques secondes |
| Précision | Identifie les fluctuations de la charge de travail avec une précision supérieure à 95 % |
| Granularité temporelle | Prend en charge des limites de nombre de pods précises à la minute près |
Cas d'utilisation
Charges de travail périodiques — Applications avec des cycles de trafic prévisibles, telles que le streaming en direct, l'éducation en ligne et les plateformes de jeux.
Gestion du trafic burst — Deployments qui combinent un nombre de pods de base fixe avec une mise à l'échelle automatique pour absorber les pics de trafic inattendus dans des scénarios commerciaux courants.
Intégration à la planification de la capacité — Systèmes nécessitant des recommandations de provisionnement de pods. AHPA expose une API Kubernetes standard afin que les résultats de prédiction puissent être récupérés et intégrés dans vos propres systèmes.