Aller au contenu

Mise à l'échelle par CLI — changetopology

Utiliser la méthode CLI changetopology sur Stack Harbor PaaS pour scripter le redimensionnement vertical et horizontal d'un environnement existant.

Pour modifier la topologie d’un environnement existant depuis un script — redimensionner une couche, ajuster un conteneur précis — le CLI Stack Harbor PaaS expose la méthode changetopology. Elle prend la même charge utile que createenvironment, sauf que --envName désigne maintenant un environnement déjà existant.

L’appel

~/jelastic/environment/control/changetopology \
  --envName {env_name} \
  --env '{"engine" : "{engine_type}"}' \
  --nodes '[{"nodeType" : "{node_type}", "count" : {nodes_amount}, "fixedCloudlets" : {cloudlets_amount}, "flexibleCloudlets" : {cloudlets_amount}}, {"nodeType" : "{node_type}", "count" : {nodes_amount}, "fixedCloudlets" : {cloudlets_amount}, "flexibleCloudlets" : {cloudlets_amount}}]'

Les options correspondent à createenvironment, avec un drapeau réutilisé :

  • {env_name} — l’environnement existant à reconfigurer.
  • {engine_type} — le moteur sur lequel tournent les instances de l’environnement. Chaîne obligatoire.
  • {node_type} — l’identifiant de pile pour la couche ajustée (tomcat, mysql, nginx, etc.).
  • {nodes_amount} — nombre de nœuds visé pour cette couche. C’est l’axe horizontal.
  • fixedCloudlets / flexibleCloudlets — cloudlets réservés et dynamiques pour cette couche. C’est l’axe vertical.

Deux axes en un seul appel

Comme count et les champs de cloudlets sont dans la même charge nodes, une seule invocation de changetopology peut déplacer les deux axes en même temps — par exemple, doubler le nombre de nœuds d’une couche base de données et augmenter la limite mémoire par nœud. Passez un objet par couche à modifier.

À savoir avant d’exécuter

  • Répartiteur requis pour un serveur d’applications scalé horizontalement. Si vous passez une couche serveur d’applications d’un nœud à plusieurs, vérifiez qu’un répartiteur est déjà dans la topologie avant l’appel. S’il n’y en a pas, la plateforme ajoutera NGINX pour vous, mais il est plus propre d’exprimer explicitement ce que vous voulez.
  • L’appel n’est pas instantané. La reconfiguration peut prendre plusieurs minutes selon le changement — un scale-out en mode stateful clone le conteneur maître, un redimensionnement vertical peut redémarrer la couche.
  • Idempotence. Répéter l’appel avec les mêmes cibles est sans risque : la plateforme réconcilie vers la forme demandée et ne signale aucun changement s’il n’y a rien à faire.

Flux CLI connexes

Le CLI couvre aussi le reste du cycle de vie d’un environnement :

  • Création et suppression d’environnement
  • Démarrage / arrêt
  • Clonage
  • Migration
  • Redéploiement de conteneur
  • Volumes Docker et points de montage
  • Déploiement basé sur VCS
  • Échange d’IP publiques
  • Installation de solutions JPS

Chacun de ces flux est documenté sur sa propre page ; ensemble, ils permettent de traiter la plateforme comme du code.