Heat运行机制探究——Auto-scaling

一、背景


  示例模板为2014-03-07的 Heat Auto-scaling 模板(webServerAutoscalingGroup.template),模板功能为:建立一个Min=1,Max=3的AutoScalingGroup,如果CPU 10秒之内平均负载超过90%,增加一台VM,如果CPU 10秒之内平均负载低于50%,减少一台VM。



二、初始化


  1、Intance在初始化时,被注入AG(Auto-scaling Group) Tag,这样,Ceilometer在收集信息时可以得知Instance所属的Group;

  2、两个Alarm被创建,CPUAlarmHigh和CPUAlarmLow,它们关注CPU在period的时间内threshold的avg值,高于threshold时,请求ScaleUpPolicy相关的webhook,低于threshold时,请求ScaleDownPolicy相关的webhook(webhook由heat根据SaclePolicy创建,请求webhook后会调用相应的ScalePolicy),Alarm是ScaleGroup和ScalePolicy之间的桥梁。



三、运行

  

  Ceilometer的metering模块监控Auto-scaling Group定义中所关注的metrics,alarming模块对每一个已注册的alarm同采集到的metrics做比较,进行评估。如果metrics超过alarm的上限threshold,将会触发ScaleUpPolicy,请求其相关联的webhook,该动作会使Heat执行ScaleUpPolicy中定义的操作;如果metrics低于alarm的下限threshold,将会触发ScaleDownPolicy,请求其相关联的webhook,该动作会使Heat执行ScaleDownPolicy中定义的操作。

   Heat运行机制探究——Auto-scaling_第1张图片



 高负载-Scale Up


  ssh进入初始建立的虚拟机,进行压力测试:

  



 低负载-Scale Down


  关闭压力测试:

  


你可能感兴趣的:(openstack,运行机制,Heat,Auto-scaling)