不同的服务集群往往需要不同的硬件配置,不同的组件所在网络交换机不同,安全组也不同,这些部署工作如果每次都去手动完成,每部署一次至少需要半个小时到一个小时。而且每天要部署很多的次,手动部署会影响业务的测试进度,并且容易出错。
这里需要引入Iac的概念,IaC是基础设施即代码的意思,也就是把运维人员复杂的部署工作写成一份配置文件,然后通过配置文件来创建环境。
在阿里云上有一个专门的产品叫资源编排服务ROS(Resource Orchestration Service),就是负责完成这个工作的。
在ROS中资源栈是基本的资源管理单元,资源栈中又包含了模板文件和云上资源,运行模板文件可以创建相应的云上资源。
ROS资源栈中的模板文件可以使用ROS模板或Terraform模板,其中ROS模板是阿里云特有的文件模板,可以使用JSON格式或者YAML格式。
Terraform模板采用TF格式,它的文件解析引擎开源,同时也被多个主流云平台支持,同时其文件格式也比较便于阅读,因此比较推荐使用。
Terraform格式的配置采用文件和文件夹的方式管理。配置文件的后缀名是.tf
,默认配置文件入口是main.tf
。
Terraform配置文件中又包含了:资源,变量,输出等元素
要想熟练使用ROS和Terraform模板,需要大量的实践。
运维编排服务(简称OOS)是阿里云的自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,也可提供重要运维场景的审批、通知等功能。
批量操作支持的操作类型包括发送远程命令,批量下载文件以及基本运维操作(如启动、停止、重启、初始化系统盘和更换系统盘),也支持实例属性修改(如修改实例名称、HostName、实例描述)。此处以批量分发本地文件到服务器为例。
操作步骤:
批量管理软件可以选择三种类型:
此次选择使用常见软件包管理系统yum的方式。
操作步骤:
处于安全考虑,ECS需要定期安装最新的操作系统补丁,升级中间件软件,或者重新安装最新的第三方软件到镜像里。传统更新镜像的方式是通过原有镜像来创建一台临时ECS,完成更新操作后生成新镜像,再释放掉ECS。费时费力,而且容易出错。使用OOS可以一键批量更新镜像。
操作步骤:
进入系统运维管理OOS控制台,在左侧栏自动化任务中选择常用运维任务,选择创建或更新镜像,点击创建。
创建镜像的方式有两种:从已有实例创建镜像、更新镜像,本次选择更新镜像。输入镜像名称和权限来源,在选择镜像中选择自定义镜像。
完成其他设置,之后点击创建。
配置中转实例的相关参数:专有网络、交换机、安全组和实例类型;
本次任务是为centos7 系统安装安全补丁,所以发送远程命令中选择命令类型为Linux Shell,内容为:
1 |
|
如果需要将创建的镜像复制到其他地域,可以设置镜像分发;
如果需要将镜像更新到伸缩组中,可以设置伸缩组配置;
创建并执行后,查看执行状态是否为成功。
如果用户希望能集中查看所有ECS的应用程序清单信息。并且最好以图表的形式展示,可以使用OOS的配置清单功能。
操作步骤:
进入系统运维管理OOS控制台,在左侧栏服务器管理中选择配置清单管理,选择清单详情,点击创建配置清单。
选择需要收集清单的实例,如果需要查看所有云服务器清单,所以这里使用选择全部;如果想查看特定条件的云服务器清单,可以通过运行状态、付费方式、公网带宽计费方式、网络类型、资源组、标签等多个条件进行筛选。
收集计划:最小时间不能小于30分钟,这里设置30分钟
清单信息:这里选择应用程序,如果需要查看网络配置或者服务,可以选中对应的复选框即可。
完成创建后,等待30分钟更新后,通过清单概览就可以查看到ECS所安装的应用程序,以及不同平台的分类。