是否可以根据工作负载为应用程序设置自动缩放功能?我在开发者控制台和文档中都没有发现任何有用的东西。通过 CLI 是否可能存在隐藏的可能性?
只是想知道这是否可能,因为我正在对 Swisscom Application Cloud 进行基本评估。
是否可以根据工作负载为应用程序设置自动缩放功能?我在开发者控制台和文档中都没有发现任何有用的东西。通过 CLI 是否可能存在隐藏的可能性?
只是想知道这是否可能,因为我正在对 Swisscom Application Cloud 进行基本评估。
有几个开源自动缩放项目可以用于生产用途,例如
Pivotal Cloud Foundry 支持开箱即用的应用程序自动缩放 ( http://docs.pivotal.io/pivotalcf/1-8/appsman-services/autoscaler/autoscale-configuration.html )
此功能目前不存在,也不是(开源)cloudfoundry 平台的一部分。一些平台提供它,但尚未向社区发布!
有多种方法可以做到这一点。如 Anatoly 所述,您可以明显地使用“Auto Scaler”服务,如果该服务是从您各自的提供商处部署的。
(你可以通过调用这个 Feature-Flags-API 检查来弄清楚:https ://apidocs.cloudfoundry.org/253/feature_flags/get_the_app_scaling_feature_flag.html )
另一种选择实际上是根据您必须满足您的应用程序的自定义缩放行为编写您自己的小型自动缩放器。(DIY ;))
获取负载 :首先,您需要获取有关应用程序当前“负载”的信息(即内存使用情况、cpu 使用情况等)。您可以通过从 v2/apps//stats API 中提取数据轻松做到这一点。在此处查看详细信息: https ://apidocs.cloudfoundry.org/253/apps/get_detailed_stats_for_a_started_app.html
编写一些魔法:现在您需要编写一些魔法来验证应用程序是否处于高负载状态。可能是 CPU 或内存或您尝试获取我们的统计 API 的其他瓶颈。
放大/缩小:使用 PUT v2/apps// API,您现在可以通过相应地填充参数“instances”轻松更改应用程序的实例数量。 https://apidocs.cloudfoundry.org/253/apps/updating_an_app.html
对于 PCF,您可以查看此https://github.com/Pivotal-Field-Engineering/autoscaling-cli-plugin。它应该给你你正在寻找的东西。
您将需要通过
cf install-plugin https://github.com/pivotal-cf-experimental/autoscaling-cli-plugin
并使用类似于以下的步骤进行配置
从您的市场获取自动缩放器的详细信息cf m | grep app-autoscaler
使用上面的服务和计划安装自动缩放器插件
cf create-service <service> <plan> myAutoScaler
将服务绑定到您的应用程序(或者您可以通过部署清单执行此操作)
cf bind-service myApp myAutoScaler
配置缩放参数
cf configure-autoscaling --min-threshold ## --max-threshold ## --max-instances # --min-instances # myApp myAutoScaler