2017-03-10 1 views
2

Est-il possible de configurer des fonctions de mise à l'échelle automatique pour une application en fonction de la charge de travail? Je n'ai rien trouvé d'utile ni dans la Developer Console, ni dans les docs. Y a-t-il une possibilité cachée via la CLI?Configurer les applications Auto Scaling

Je me demande simplement si cela est possible car je fais une évaluation de base sur Swisscom Application Cloud.

Répondre

1

Cette fonctionnalité n'est pas disponible pour le moment et ne fait pas non plus partie de la plateforme cloudfoundry (open source). Certaines plateformes le fournissent, mais cela n'a pas encore été publié dans la communauté!

1

Il existe plusieurs façons de le faire. Comme décrit par Anatoly, vous pouvez utiliser le service "Auto Scaler", si celui-ci est déployé depuis votre fournisseur respectif.

(vous pouvez comprendre cela simplement en appelant cette fonction de vérification-drapeaux-API: https://apidocs.cloudfoundry.org/253/feature_flags/get_the_app_scaling_feature_flag.html)

Une autre option est en train d'écrire votre propre petite auto-scaler basé sur l'échelle-comportements définis sur mesure vous » ve pour répondre à votre demande. (DIY;))

  • Obtenez la charge : Vous devez d'abord obtenir des informations sur votre position actuelle « charge » de l'application (à savoir l'utilisation de la mémoire, l'utilisation du processeur, etc.). Vous pouvez facilement le faire en extrayant les données de l'API v2/apps // stats. Voir les détails ici: https://apidocs.cloudfoundry.org/253/apps/get_detailed_stats_for_a_started_app.html

  • Ecrire un peu de magie: Maintenant, vous avez besoin d'écrire un peu de magie autour de vérifier si l'application est sous une charge lourde. Pourrait être CPU ou mémoire ou d'autres goulots d'étranglement, vous essayez d'obtenir notre API de statistiques.

  • échelle haut/bas: Avec la PUT v2/apps // API vous pouvez facilement changer maintenant le montant des instances de votre application en remplissant les paramter « instances » en conséquence. https://apidocs.cloudfoundry.org/253/apps/updating_an_app.html

0

Pour PCF vous pouvez jeter un oeil à ce https://github.com/Pivotal-Field-Engineering/autoscaling-cli-plugin. Cela devrait vous donner ce que vous cherchez.

Vous devez l'installer via le

cf install-plugin https://github.com/pivotal-cf-experimental/autoscaling-cli-plugin 

et configurer en utilisant des étapes similaires au-dessous

obtenir les détails de la autoscaler de votre marché
cf m | grep app-autoscaler 
Installez le plug-in scaler automatique en utilisant le service & plan d'en haut
cf create-service <service> <plan> myAutoScaler 
Liez le service à votre app (ou u peut le faire via vous manifeste de déploiement)
cf bind-service myApp myAutoScaler 
Configurez vos paramètres de mise à l'échelle
cf configure-autoscaling --min-threshold ## --max-threshold ## --max-instances # --min-instances # myApp myAutoScaler