伸缩组是具有相同应用场景、相同实例类型(即ECS或ECI实例)的一组实例集合。使用ECI实例来运行容器应用时,可以配合使用弹性伸缩服务,实现根据业务量自动增加或者减少ECI实例,在保证业务正常运行的同时节约使用成本。
操作步骤
在操作之前,您需要先明确您创建伸缩组的方式,阿里云提供多种创建伸缩组的方式。您可以根据您的实际情况,参考以下指引快速创建伸缩组。
有现有的ECI实例,需要使用这个实例的配置创建。请参见方式一:基于现有ECI实例的配置创建伸缩组。
需要快速创建伸缩组,期望稍后配置伸缩组内实例配置来源。请参见方式二:从零开始创建ECI伸缩组。
您可以通过Kubernetes YAML文件来创建并管理ECI伸缩组。请参见方式三:通过Kubernetes YAML文件来创建ECI伸缩组。
方式一:基于现有ECI实例的配置创建伸缩组
方式二:从零开始创建ECI伸缩组
方式三:通过Kubernetes YAML文件来创建ECI伸缩组
配置项说明
伸缩组基本信息配置
配置项 | 说明 |
伸缩组名称 | 2~64个字符,以大小写字母、数字或中文开头,可包含半角句号(.)、下划线(_)和短划线(-)。 |
伸缩组类型 | 指定伸缩组内提供计算能力的实例的类型,弹性伸缩会根据该配置为伸缩组扩缩容对应的实例。
|
组内实例配置信息来源 | 弹性伸缩使用该配置创建实例。伸缩组支持以下实例配置信息来源类型:
说明 从ECS控制台入口基于实例创建伸缩组时,弹性伸缩自动填入组内实例配置信息来源、网络类型相关的信息,请保持默认,无需修改。 |
暂停的流程 | 方便您在执行某些操作前主动暂停指定的流程,例如暂停健康检查流程后再去停止实例,避免实例被视为不健康而自动移出伸缩组。支持暂停的流程如下:
更多信息,请参见暂停和恢复伸缩组流程。 |
开启伸缩组保护 | 开启伸缩组保护后,您不能在弹性伸缩控制台或者通过API删除该伸缩组,有效避免误删除伸缩组。 |
实例的健康检查 | 开启健康检查后,伸缩组会定期检查实例的运行状态,如果发现一台实例未处于运行中状态,则判定为不健康并移出该实例。更多信息,请参见伸缩组内实例的生命周期。支持的配置项如下:
|
实例最大生命时长(秒) | 实例在伸缩组中存活的最大时间,当伸缩组中存在超过最大生命时长的实例时,伸缩组会自动创建新实例来替换该实例。 说明 仅伸缩组类型为ECS时,支持设置该参数。 |
组内实例数配置
配置项 | 说明 |
组内最小实例数 | 当前实例数量低于下限时,伸缩组会自动添加实例,使得伸缩组内的实例数量等于下限。 |
组内最大实例数 | 当前实例数量超过上限时,伸缩组会自动移出实例,使得伸缩组内的实例数量等于上限。移出实例的策略的说明,请参见设置伸缩组的实例终止策略。 |
组内期望实例数 | 填写组内期望实例数即可开启期望实例数功能,伸缩组会自动将实例数量维持在期望实例数。更多信息,请参见期望实例数。 |
组内实例扩缩容设置
ECI伸缩组不支持修改扩缩容策略、实例移出策略、实例回收模式,ECI伸缩组默认采用的配置如下:
扩缩容策略:优先级策略。
实例移出策略:先筛选最早伸缩配置对应的实例,再移出最早创建的实例。
实例回收模式:释放模式。
配置项 | 说明 |
扩缩容策略 | 伸缩组默认会根据您配置的交换机的顺序(优先级策略),进行伸缩组的伸缩活动,您可以通过修改扩缩容策略来实现其他策略,伸缩组为您预设了几种伸缩策略,具体策略说明如下。 重要 仅伸缩组类型为ECS,且网络类型为专有网络时,支持修改该配置,当伸缩组类型为ECI时,默认扩缩容策略为优先级策略。
如何配置,请参见配置扩缩容策略。 |
实例移出策略 | 当需要从伸缩组移出实例时,会先按照策略筛选实例,如果筛选后仍有多台实例满足要求,则随机移出一台。仅伸缩组类型为ECS时支持该配置,配置项说明如下:
当实例移出策略为最早伸缩配置对应的实例和自定义策略时,可能会出现多个满足条件的实例,您可以通过设置第二段策略来进一步筛选要移出的实例。第二段策略说明如下:
说明 伸缩组移出实例还受伸缩组的扩缩容策略影响。相关说明,请参见设置伸缩组的实例终止策略。 |
实例回收模式 | 在移出实例后,伸缩组会通过该配置来对实例进行回收操作。具体回收模式如下: 说明 仅伸缩组类型为ECS,且网络类型为专有网络时,支持配置该项。ECI伸缩组默认回收模式为释放模式。
|
网络配置
当组内实例配置信息来源为启动模板或选择已有实例时,会自动按照启动模板或者选择的实例自动填充网络类型、专有网络、选择交换机等配置,您也可以根据需求,重新配置伸缩组网络。
配置项 | 说明 |
网络类型 | 您可以根据您的需求选择您伸缩组内实例的网络类型,支持专有网络和经典网络。 警告 在伸缩组创建后,网络类型不可变更。 重要 推荐您选择专有网络。专有网络伸缩组支持更灵活配置伸缩组,如更灵活的伸缩策略、实例回收模式、关联负载均衡器ALB和NLB。更多专有网络的说明,请参见什么是专有网络。 |
专有网络 | 当网络类型为专有网络时,支持此配置,在您选择专有网络后,您伸缩组下的所有实例都将在该专有网络下创建。 警告 在伸缩组创建后,专有网络不可变更。 |
选择交换机 | 在您选择专有网络后,您可以选择您专有网络下的交换机。您伸缩组下的所有的实例将在该交换机下创建。 重要 推荐您选择多个可用区的交换机,单一可用区如果库存不足会产生库存失败的情况,如果您使用ECS伸缩组,您还可以通过切换扩缩容策略来选择伸缩组中实例在不同可用区的分布。 |
关联其他云服务
配置项 | 说明 |
关联RDS、Redis、MongoDB数据库实例 | 当您伸缩组的实例需要访问RDS、Redis、MongoDB数据库时,您可能需要自动将伸缩组中的ECS实例或ECI实例的内网IP加入该数据库实例访问的白名单,此时,您可以通过该配置来达到此效果。 说明
|
关联传统型负载均衡CLB(原SLB) | 伸缩组关联CLB实例后,加入伸缩组的实例会自动添加为CLB实例的后端服务器,处理来自CLB实例转发的访问请求。 您可以指定实例需要加入的服务器组,支持以下两种服务器组:
如果您同时指定了默认服务器组和多个虚拟服务器组,实例会同时添加至这些服务器组中。 说明 一个伸缩组支持关联的CLB实例和虚拟服务器组数量有限。如需查看或手动申请提升配额值,请前往配额中心。 |
关联负载均衡ALB、NLB服务器组 | 重要 仅网络类型为专有网络时,支持配置该项。 伸缩组关联ALB、NLB服务器组后,加入伸缩组的实例会自动添加为ALB、NLB服务器组的后端服务器,处理ALB、NLB实例分发的访问请求。您还需指定后端服务器的端口和权重,权重默认为50。权重越高,实例将被分配到越多的访问请求。如果权重为0,则实例不会收到访问请求。 如果您为伸缩组关联了多个ALB、NLB服务器组,加入伸缩组的实例会同时添加至这些服务器组中。 说明 一个伸缩组支持关联的ALB、NLB服务器组数量有限。如需查看或手动申请提升配额值,请前往配额中心。 |
其他配置
配置项 | 说明 |
标签 | 添加标签便于搜索和聚合伸缩组,更多信息,请参见标签。 说明 此处的标签适用于伸缩组,如果您需要为伸缩组内实例添加标签,请在伸缩配置或启动模板中设置。 |
扩容时需要传播给实例的标签 | 为伸缩组添加一个或多个标签后,您可以继续选择扩容时需要传播给伸缩组内实例的一个或多个标签。 |
添加已有实例 | 如果伸缩组类型为ECS,且组内实例配置信息来源为启动模板或选择已有实例时,支持配置该项。 如果同时设置期望实例数并添加已有实例,期望实例数会自动增加。例如,创建伸缩组时设置期望实例数为1,并添加2台已有实例,伸缩组创建完成后,2台已有实例添加至伸缩组,然后期望实例数变为3。 您可以将已有实例的生命周期托管给伸缩组,选择将实例的生命周期托管给伸缩组复选框即可。
说明 支持将包年包月实例添加至伸缩组,但不支持托管包年包月实例。 |
设置消息接收通知 | 在伸缩活动成功、失败或者被拒绝时,弹性伸缩支持通过短信、站内信和邮件发送消息通知。更多信息,请参见设置消息接收通知。 |
资源组 | 通过选择资源组,对伸缩组资源进行分组管理,实现资源的隔离显示和权限控制。更多信息,请参见通过资源组精细化管理伸缩组。 |
同步伸缩组报警规则到云监控 | 该功能仅支持创建伸缩组时开启或关闭。开启该功能后,系统将为伸缩组新建并关联一个云监控应用分组,伸缩组上的报警规则将在云监控控制台同步显示。 |
YAML配置项说明
支持的Kubernetes YAML字段
通过Kubernetes YAML方式部署ECI类型伸缩组时,在配置YAML文件时仅支持以下Kubernetes Deployment资源类型中的YAML字段:
您可以参考Kubernetes官网的Deployment示例了解YAML文件的模板结构,YAML字段主要包括kind
、metadata
和spec
三部分。
扩展的Annotation字段
通过Kubernetes YAML方式部署ECI类型伸缩组时,在配置YAML文件时仅支持扩展以下Annotation字段。