Aller au contenu

Redimensionnement horizontal automatique — déclencheurs basés sur la charge

Configurer des déclencheurs de scale-out et scale-in sur Stack Harbor PaaS à partir du CPU, de la mémoire, du réseau ou du disque, et inspecter l'historique d'exécution.

Le redimensionnement horizontal automatique sur Stack Harbor PaaS ajuste le nombre de conteneurs d’une couche en fonction de la charge. Vous définissez des déclencheurs configurables ; la plateforme analyse la consommation moyenne chaque minute et ajoute ou retire des nœuds lorsque les conditions sont remplies. Toutes les instances d’une même couche sont placées sur des hôtes matériels distincts selon des règles d’anti-affinité — un nouveau nœud atterrit sur l’hôte qui héberge le moins d’instances de la même couche et qui présente la charge la plus faible.

La métrique d’un déclencheur est la moyenne sur la couche pour la fenêtre d’évaluation — une couche de trois nœuds à 20 %, 50 % et 20 % a une moyenne de 30 %. Les conditions de scale-out et de scale-in sont indépendantes : la fenêtre de l’une n’est pas réinitialisée quand l’autre se déclenche.

Configurer un déclencheur

  1. Cliquez sur Settings dans l’environnement.
  2. Ouvrez Monitoring > Auto Horizontal Scaling. La page liste les déclencheurs existants et propose les actions Add, Edit, Remove et Refresh. Cliquez sur Add.
  3. Choisissez la couche dans la liste déroulante, puis le type de ressource à surveiller (CPU, Memory, Network, Disk I/O, Disk IOPS). Le graphique à droite affiche la consommation récente — utilisez-le pour choisir des seuils raisonnables. Survolez le graphique pour lire la valeur exacte à un instant donné. Il prend en charge jusqu’à une semaine de données et dispose d’un commutateur Auto Refresh.
  4. Activez les conditions Add Nodes et Remove Nodes indépendamment via les cases sur chaque titre. Les champs à régler :
    • When loading is more (less) than — la limite haute ou basse, en pourcentage. Le curseur sur le graphique fonctionne aussi. Régler 100 % désactive le déclencheur Add Nodes ; 0 % désactive Remove Nodes. L’écart minimal autorisé entre les deux seuils est de 20 %. Les déclencheurs réseau peuvent être réglés en Mbps plutôt qu’en pourcentage.
    • For at least — la fenêtre sur laquelle la moyenne est calculée, de 1 à 60 minutes par pas de 5.
    • Scale out (in) to — le nombre maximal (ou minimal) de nœuds que le déclencheur peut atteindre.
    • Scale by — combien de nœuds ajouter ou retirer à chaque déclenchement.
  5. Laissez Send Email Notifications activé si vous voulez être prévenu par courriel. Appliquez.

Repère utile : placez le seuil Add Nodes au-dessus de 50 % pour éviter le bruit, et assurez-vous que l’écart entre Add et Remove est assez large pour éviter le balancement. Si votre couche tourne en mode stateful, placez Add Nodes plus bas qu’en mode stateless — le clonage du système de fichiers du maître prend du temps, et vous ne voulez pas atteindre votre limite de ressources avant que le nouveau nœud ne soit prêt.

Détail pratique pour les couches serveur d’applications : la première fois que vous étendez un environnement sans répartiteur, la plateforme ajoute automatiquement un répartiteur NGINX. Si vous voulez un autre répartiteur devant votre application, ajoutez-le manuellement avant le premier événement de mise à l’échelle.

Inspecter ce qui s’est déclenché et quand

Les déclencheurs laissent une piste d’audit. Sous Settings > Monitoring > Events History, choisissez Horizontal Scaling dans la liste Type et réglez la plage From / To. Chaque ligne montre :

  • Date et heure de l’exécution
  • Action effectuée (Add Nodes ou Remove Nodes)
  • Type de nœud auquel l’action s’est appliquée
  • Condition qui a déclenché l’action

Survolez une ligne pour voir la Loading Value au moment de l’exécution et le Node Count résultant. Comme les deux conditions s’exécutent indépendamment, vous verrez parfois une évaluation Remove Nodes peu après un Add Nodes — c’est volontaire ; la plateforme vérifie si la charge s’est réellement stabilisée.

Pages connexes

  • Redimensionnement horizontal — ajout et retrait manuels de nœuds, modes de mise à l’échelle.
  • Redimensionnement vertical automatique — ajustement automatique des cloudlets (RAM et CPU) à l’intérieur d’un conteneur.
  • Supervision des statistiques et alertes de charge — comment la plateforme expose les métriques sous-jacentes que les déclencheurs consomment.