zl程序教程

您现在的位置是:首页 >  其他

当前栏目

资源编排最佳实践之入门篇:云服务器如何从 1 到 N?

资源服务器 如何 实践 最佳 入门篇 编排
2023-09-11 14:16:10 时间

随着云计算的应用和普及,IaaS层、SaaS层、PaaS层的服务也不断涌现,而国内云端的自动化运维还属于初探阶段。阿里云资源编排Resource Orchestration(ROS)服务即是填补了这部分空缺。 

ROS 的理念是“基础设施即代码”,一方面是用代码思维的版本管理来记录基础设施的变化,另一方面我们都知道计算机世界用代码实现了各种系统、无所不能,ROS 秉承这样的理念,通过代码实现自动化运维,并且简化编写代码的复杂度,只需通过模板描述多个云计算资源的依赖关系、配置等。

通俗地理解,ROS 的资源就像乐高游戏中的小积木,基于每个小资源可以搭建上层的无数种可能。

ROS 目前支持了阿里云12款主要云产品、40多个资源类型,后续还会不断增加。虽然模板简化了编码的复杂度,但通过灵活应用可以满足各种自动化运维的需求。

本系列共分为四篇文章,通过不同的维度介绍几个典型的应用场景,也是希望借助此系列能打开各个运维人员、开发者的脑洞,增强云端自动化运维的能力。 

本文为第一篇“入门篇”。目前云计算领域使用最多的是云服务器,因此本文会围绕云服务器自身的普遍需求展开介绍,其余几篇会介绍和其他服务或工具结合的场景。 

在经过很多的用户回访,我们发现针对于云服务器大家使用最多的场景是基于云服务器“此刻的状态”再创建 1-N 台云服务器,新创建的云服务器系统盘和数据盘都是“此刻的状态”,本文将根据此场景来讲述通过 ROS 如何实现。

我们以一个网站服务为例,一般运维工程师会在系统盘或数据盘中安装一些应用,如:Tomcat、Jenkins、MySql、网站自身的数据/文件等等。如果需要再创建一台云服务器与目前已有云服务器的系统或数据状态保持一致,可以将系统盘做成自定义镜像,数据盘做成快照,然后再新购买云服务器时镜像选择该自定义镜像,数据盘的快照选择该快照,安全组的规则配置与原云服务器一致的规则,就可以创建一台基于原云服务器“此刻状态”的新云服务器。

如果只需创建这一台云服务器,并且不需要记录历史状态,上述方法是比较合适的。但实际情况往往不是这样的,可能会频繁的创建/释放云服务器,或者生成镜像的操作人员与购买云服务器的人员不是同一个人,一但购买选项没有选正确,新购的这台云服务器就不能投入业务中,按量的需要再释放,包年包月的需要等到到期释放,或者做数据迁移,势必会带来一定的损失。

另外如果想记录或跟踪云服务器的历史演变,如安全组配置的变化、基础镜像等信息,需要单独记录。

面对上述问题,运维人员可以使用 ROS 的模板作为交付物,将资源的固定参数在模板资源中定义,将可变的参数在模板参数中定义,方便运行时输入实际参数。这样在频繁创建云服务器时,只需要输入可变参数中的内容即可,如镜像 ID、快照 ID,或者克隆原云服务器,或者没有可变参数,将所有定义都在资源中描述,可以根据实际业务要求灵活变通模板编写。

并且,模板可以存放在 Github 中,可以像管理代码一样跟踪模板历史,也可以基于模板之上创建适合于企业内部的运维工具,实现自动化运维,以“基础设施即代码”的理念代替“重复劳动”。

要了解ROS模板的详细解释,可以深入阅读资源编排模板详解

下面以“网站服务运维”这个场景为例,讲一下模板定义中的关键要素:

1. 镜像和快照ID可以放在模板参数中定义:


"Parameters": {     "ImageId": {       "Description": "镜像文件ID, 表示启动实例时选择的镜像资源",       "Type": "String"     },     "DiskName": {       "Type": "String"      },     "DiskSize": {       "Default": 40,       "Type": "Number"     },     "SnapshotId": {       "Type": "String"     }

2. 定义云服务器的镜像和快照资源。

镜像资源定义如下,引用参数中的镜像 ID:


"ImageId": {   "Ref": "ImageId"

快照资源定义如下,引用参数中的磁盘名称、大小、快照 ID:


"DiskMappings": [     "DiskName": {       "Ref": "DiskName"     },     "Size": {       "Ref": "DiskSize"     },     "SnapshotId": {       "Ref": "SnapshotId"     }

3. 指定创建的云服务器数量,最大支持100台,可以是按量的也可以是包年包月的,包年包月的资源定义详见一键创建包年包月ECS实例

4. 其他如IO优化、磁盘大小、安全组等可以根据实际情况定义,此场景的详细例子可以参考官方提供的例子指定镜像、磁盘快照创建ECS

 

本文是通过一个实例讲解通过自定义镜像和快照生成新云服务器,针对于云服务器的运维远不止于此。 所以接下来,我们将会在[进阶篇]教你“如何利用ROS实现弹性伸缩”,通过ROS能力每个人都能成为运维高手、架构师。

原文发布时间为:2016-06-24

本文来自云栖社区合作伙伴“Linux中国”


【ECS最佳实践】性能测试及ECS+RDS构建云服务器主动防御系统部署开源蜜罐系统Hfish 云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云计算最基础的概念便是云服务器,对Openstack概念有了解的,对接触ECS就不会有隔阂。
区块链防伪应用在ECS上的最佳实践 现有的基于区块链的防伪溯源系统大多侧重于解决数据的不可篡改性和系统的去中心化问题,无法保证基于区块链的源数据的真实性和可靠性。同时,大多数防伪追溯系统采用私有链,存在交易延迟大、系统吞吐量低、资源消耗大等问题。为此,将区块链技术与物联网技术相结合。将追溯数据通过联盟区块链存储,保证追溯数据的分散存储和数据的不篡改性。同时,利用物联网技术,确保区块链源数据的真实性和可靠性,并在ECS上进行了最佳实践。
学生使用阿里云ECS的最佳实践 通过飞天加速计划获取的半个月的ECS,对基础的ECS使用做出总结。交个作业 通过本你会学会以下几点: • 配置和连接新的ECS服务器 • 配置安全组释放端口 • 使用宝塔工具对服务器进行管理 • 使用宝塔wordpress博客系统 • 使用wordpress搭建个人博客
【ECS最佳实践】ECS+RDS构建云服务器主动防御系统部署开源蜜罐系统Hfish及ECS周边功能测试 我已经是阿里云ECS产品的老用户了,阿里的云计算产品性能可靠性毋庸置疑,这次分享一个开源蜜罐系统Hfish的单节点搭建,并围绕ECS周边的技术功能做个简单举例。