弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即 ECS 实例或 ECI 实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。
背景信息
Flow 支持将构建出来的包制品下载到ESS(弹性伸缩)的ECS实例中并按部署命令进行发布。
本文讲述如何使用 Flow 对 ESS 弹性伸缩组进行流水线式构建部署。
前提条件
将业务代码上传至代码库。
步骤一:创建 ESS 伸缩组
步骤二:创建 Flow 流水线
在流水线Flow 控制台,选择目标流水线或者创建流水线。选择任务节点流水线源,添加代码源,本文使用示例代码源JAVA,根据需求选择。
选择空任务或者新的任务,根据需求选择构建环境,选择默认环境,单击添加步骤选择
步骤,继续单击添加步骤选择 。在下一个任务节点,选择新的任务,添加任务步骤“ESS ECS部署”。
配置“ESS ECS部署”任务步骤。
参数名
说明
选择服务连接
选择任务连接的服务。如果没有服务连接,选择添加服务连接,根据界面提示,添加您需要的连接。选择任务的服务授权,使云效能选择ESS伸缩组进行部署。
说明如果您从未授权过,新建服务连接时,请先在服务授权/证书输入框后,单击新建,根据跳转完成阿里云RAM授权后再进行相应配置。
地域
选择待发布ESS弹性伸缩组所在的地域。
伸缩组
选择待发布ESS弹性伸缩组的名称。
软件包
选择构建物上传步骤所创建的产出物名称。
下载路径
将tgz格式的制品压缩包下载到你的主机上的目录。
说明如:填写/home/admin/app/,制品的路径为/home/admin/app/download。
部署脚本
用于进行单机部署的脚本。
发布批次
选择批次数量来表示发布分批的数量。
分批方式
可选择手动确认或自动确认。例如,如果您需在完成第一批发布时先观察发布结果再决定后续操作,则可选择手动确认。
步骤三:运行流水线
保存并运行流水线,部署完毕后,可以查看日志和发布单详情。
说明如果分批方式选择的手动确认,在部署完第一批之后流水线任务将会暂停,根据您需求可以继续发布。
结果验证
云效显示部署成功后,登录ESS伸缩组实例查看。
部署的包是否有下载到指定位置。
部署指令是否正确执行。
每次在 Flow 上进行ESS ECS的部署会伴随伸缩组内生命周期挂钩的创建或修改,目的是使后续新扩容的实例能同步伸缩组内最新一次的发布。查看伸缩组内的生命周期挂钩是否正确创建或修改,判断标识中的包地址、部署目录、部署指令与最新一次部署是否相同。
后续扩容
目标伸缩组后续扩容出来的新实例,会触发上文部署流程中所设置的生命周期挂钩进行初始化部署。
登录新实例查看:
部署的包是否有下载到指定位置。
部署指令是否正确执行。