API 概览
<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="background-color:#ededed; width:266px">
<p><strong>API</strong></p>
</td>
<td style="background-color:#ededed; width:461px">
<p><strong>描述</strong></p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>AddVmToScalingGroup</p>
</td>
<td style="width:461px">
<p>手动添加云主机进伸缩组</p>
<p>(1) 检查云主机是否可以加入伸缩组,是否在同一个vpc下,是否在同一个地域,是否在同一个可用区,是否超过最大实例数,并且云主机和伸缩组的状态都必须是Running</p>
<p>(2)只有健康检查有问题才会将云主机移除伸缩组,修改配置,定时任务,告警任务,手动添加的云主机只参与计数,不会移除</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ChangeActiveConfig</p>
</td>
<td style="width:461px">
<p>切换伸缩组配置</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CreateAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>创建伸缩组:创建伸缩组需要设置负载均衡,监听器,最小实例数,最大实例数,退出策略等; 负载均衡和监听器是健康检查的数据来源;</p>
<p>最小实例数和最大实例数规定了该伸缩组云主机实例范围; 退出策略:在进行伸缩活动中云主机退出伸缩组的方式</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CreateAutoScalingGroupConfig</p>
</td>
<td style="width:461px">
<p>创建伸缩组配置,当伸缩组被触发要进行伸缩活动的时候,以该伸缩组配置进行创建云主机,云主机的配置在该配置中进行定义</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>DeleteAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>删除伸缩组 DeleteAutoScalingGroupAction</p>
<p>删除伸缩组条件:stopped状态的伸缩组才可以进行删除操作,且无告警任务和定时任务,否则会报有资源依赖 删除伸缩组程:</p>
<p>(1)从elb资源池移除云主机</p>
<p>(2) 将ASGroupInstance这张表中对应的云主机enableFlag设置为0</p>
<p>(3)将伸缩组配置配置状态设置为InActive</p>
<p>(4)删除该伸缩组上的监控</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>DeleteAutoScalingGroupConfig</p>
</td>
<td style="width:461px">
<p>删除伸缩组配置</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>获取伸缩组详情</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingGroupConfig</p>
</td>
<td style="width:461px">
<p>获取伸缩组配置详情</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingGroupInstanceNumber</p>
</td>
<td style="width:461px">
<p>获取伸缩组最大最小实例数限制</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListASGroupInstances</p>
</td>
<td style="width:461px">
<p>获取伸缩组中云主机实例列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingGroupConfig</p>
</td>
<td style="width:461px">
<p>查询伸缩组配置</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingGroups</p>
</td>
<td style="width:461px">
<p>获取伸缩组列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAvailableInstances</p>
</td>
<td style="width:461px">
<p>查询伸缩组中活动的云主机列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListLoadbalancesByVpcId</p>
</td>
<td style="width:461px">
<p>根据vpcId查询elb列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>RemoveInstanceFromASGroup</p>
</td>
<td style="width:461px">
<p>手动将云主机移出伸缩组</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>SeparateInstanceFromASGroup</p>
</td>
<td style="width:461px">
<p>将自动云主机分离出伸缩组</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>SetInstanceProtected</p>
</td>
<td style="width:461px">
<p>云主机设置保护状态</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>StartAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>启动伸缩组 补充注释:</p>
<p>1.校验:asGroup状态非stopped,asGropConfig不为空,,balance校验</p>
<p>2.启动时</p>
<p>(1)若groupId对应的主机数量(通过serving,removeFailed过滤)小于min值,则做弹性"增",做startAsGroup工作流数据准备,比最小值多出来的主机做pod分配,pod分配一个是固定pod,另一个是高可用pod,高可用pod是将主机均匀分散到各个pod serving:</p>
<p>addInstanceToPool removeFaild 做云主机的释放或移除失败时,启动startAsGroup的工作流。</p>
<p>问题1:如果instance已经分配了pod,再次分配的pod不一致会不会存在问题?</p>
<p>(2)大于min值,asGroup状态直接改成running,asGroup下的告警任务重新注册,发送通知用户mq,通过资源发布上报event,异步监听,发送mq</p>
<p>问题2: 绑定的主机数大于max值没有处理 定时任务不需要重新注册了吗?</p>
<p>定时任务和告警任务的区别</p>
<p>告警:资源使用率<br />
定时任务:定时执行伸缩规则,做资源的定时增减 问题4: 资源上报后,接下来会有哪些操作</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>StopAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>关闭伸缩组,是关闭伸缩组活动,不对云主机做任何操作<br />
(1)只有在伸缩组状态是running状态的时候,才可以进行关闭操作<br />
(2) 在关闭伸缩活动的时候需要判断其中是否有正在加入和正在移除的云主机,如果有,不可以进行关闭伸缩组的操作</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>UpdateAutoScalingGroup</p>
</td>
<td style="width:461px">
<p>修改伸缩组配置:</p>
<p>1、判断当前伸缩组vm数量 是否大于 修改后的最大值,则需要干掉多余的,默认按vm加入先后顺序;</p>
<p>2、判断当前伸缩组mv数量 是否小于修改后的最小值,则需要增加不足的vm</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>UpdateAutoScalingGroupConfig</p>
</td>
<td style="width:461px">
<p>修改伸缩组配置</p>
<p>不允许修改后端端口、网络</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>AddRulesToASGroup</p>
</td>
<td style="width:461px">
<p>关联伸缩规则到伸缩组</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CancelAssociateRule</p>
</td>
<td style="width:461px">
<p>取消伸缩组关联规则</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CheckExecuteRuleToASGroup</p>
</td>
<td style="width:461px">
<p>手动执行规则前进行检查</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CreateAutoScalingRule</p>
</td>
<td style="width:461px">
<p>创建伸缩规则 在创建告警任务和定时任务的时候需要配置伸缩规则,当任务执行伸缩组以该伸缩规则进行伸缩活动</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>DeleteAutoScalingRule</p>
</td>
<td style="width:461px">
<p>删除伸缩规则</p>
<p>删除伸缩规则的条件:伸缩规则没有被定时任务或者告警任务引用</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ExecuteRuleByManualToASGroup</p>
</td>
<td style="width:461px">
<p>手动执行伸缩规则进行伸缩活动</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingRule</p>
</td>
<td style="width:461px">
<p>获取伸缩规则详情</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListASGroupAssociateRules</p>
</td>
<td style="width:461px">
<p>获取伸缩组关联的伸缩规则列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingRules</p>
</td>
<td style="width:461px">
<p>获取伸缩规则列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListGroupCanAssociateRules</p>
</td>
<td style="width:461px">
<p>获取伸缩组未关联过的伸缩规则列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListRulesForNoPage</p>
</td>
<td style="width:461px">
<p>查询租户当前有效的伸缩规则列表不分页</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>UpdateAutoScalingRule</p>
</td>
<td style="width:461px">
<p>修改伸缩规则: 对于伸缩规则是无状态的,所以用户在任何情况下都可以对伸缩规则进行修改</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CreateAutoScalingAlarmTask</p>
</td>
<td style="width:461px">
<p>创建弹性伸缩组告警任务:弹性伸缩组的告警任务是对其中云主机的性能如cpu.busy进行监控,用户需要设置监控项、监控函数、告警次数、告警阈值、伸缩规则;</p>
<p>当告警任务被触发的时候,伸缩组将根据当前的伸缩规则进行伸缩活动</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>CreateAutoScalingScheduledTask</p>
</td>
<td style="width:461px">
<p>创建伸缩组定时任务:对伸缩组配置了定时任务,当定时任务执行时伸缩组根据伸缩规则进行伸缩活动</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>DeleteAutoScalingAlarmTask</p>
</td>
<td style="width:461px">
<p>删除伸缩组告警任务</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>DeleteAutoScalingGroupScheduledTask</p>
</td>
<td style="width:461px">
<p>删除伸缩组定时任务</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetASGroupActivityCause</p>
</td>
<td style="width:461px">
<p>获取伸缩组活动触发条件(健康检查、定时任务、告警、手动执行伸缩规则等)</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingAlarmTask</p>
</td>
<td style="width:461px">
<p>获取弹性伸缩告警任务详情</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>GetAutoScalingScheduledTask</p>
</td>
<td style="width:461px">
<p>获取伸缩组定时任务详情</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingAlarmTasks</p>
</td>
<td style="width:461px">
<p>获取伸缩组告警任务列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingGroupActives</p>
</td>
<td style="width:461px">
<p>获取伸缩活动详情列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingGroupActivityDetail</p>
</td>
<td style="width:461px">
<p>伸缩活动详情列表展示展示</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>ListAutoScalingScheduledTasks</p>
</td>
<td style="width:461px">
<p>获取伸缩组定时任务列表</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>UpdateAutoScalingAlarmTask</p>
</td>
<td style="width:461px">
<p>修改伸缩组告警任务</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>UpdateAutoScalingGroupScheduledTask</p>
</td>
<td style="width:461px">
<p>修改弹性伸缩组定时任务</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>AutoScaling</p>
</td>
<td style="width:461px">
<p>健康检查回调地址URI</p>
</td>
</tr>
<tr>
<td style="width:266px">
<p>AutoScalingAlarm</p>
</td>
<td style="width:461px">
<p>监控告警回调地址URI</p>
</td>
</tr>
</tbody>
</table>
提交成功!非常感谢您的反馈,我们会继续努力做到更好!