基于云计算和运维自动化的IT建设实践 下载本文

装机系统也是 PXE 和 PXD,但是不同的点是从 PXD,就是 ROMOS 里面有定制的启动脚本还有一些安装脚本。进入到 ROMOS 以后 CMDB 拿一些基础信息,应该装什么操作,应该分配什么IP地址,IP地址都不需要制定。

然后在装的过程中还需要去 wget 包,我们挂载硬盘,把包解压就装了系统。这系统的好处就是非常灵活,我们可以在操作系统里面定制很多东西,比如说我们现在做的就是 RAID ,根据梯型我们定义A5或者A6,就直接把 RAID 装机过程中做掉,其次对机器的压测还会发现一些新的问题。

装机系统性能也是不错,我们曾经安装过一百台以上的物理服务器几分钟就可以安装完成,主要的优点还是灵活性比较好。另外装机系统要使用的话,其实只要录入SN和它的位置,其他的都是通过 RAMOS 采集到 CMDB 来完成,对运维人员来说非常省事。

16

我们的负载均衡系统底层是基于 LVS 和 Nginx ,我们的云平台通过 namespace 封装对外服务。另外比较好的一点,我们作为自动化跟 CMDB 发布系统做了一些联动,下面会有一个稍微的介绍。

刚才我说了 CMDB 就是大家在前面的图里看到的,他在我们的服务层,其实是在我们的云平台里面,在我们的服务层起到一个资产管理还有配置信息管理的作用。

我们的 CMDB 还做了一个 SAAS 服务,提供给我们的 API 服务,在外面单独部署。我们现在的场景,国美互联网单独部署了我们的 CMDB ,通过 API 获取国美云的主机,其次自己管理了一些自己的主机, CMDB 不光云的平台,也可以作为 SAAS 单独在外面进行部署。

17

我们的灰度发布主要是依赖负载均衡系统,现在是支持 HTTP 的灰度发布,这集群十台服务器我们需要发两台,这时候从七层负载均衡上拿掉,拿掉过后等一段时间链接完全没有,因为 HTTP 就是短链接,等10秒过后,直接发这两台机器,发完过后没问题了,脚本都没问题,直接在负载均衡里面相当于一个滚动的发布,这样实现了基于流量的灰度发布。

这个过程中用户基本没感知都是 HTTP 的感知,并不会维护在前端,所以之前很多重要的应用都必须半夜去发,尽量影响较少的用户。

其实通过这系统我们跟 CMDB 部署结合,这过程中实现随时发,而且后续我们的部署更标准过后,我们可以做到这十台机器先不动,两台发了后再加进来再打掉两台这样的过程。

其实现在我们也在用 Docker ,Docker 更方便一点,但是很多业务我们现在还没有解决掉,必须跑在虚拟机上,所以说这系统还是解决了一些问题。

国美这边 Docker 也在用,我们的友商京东这一方面比较厉害,70%多的业务都是 Docker 上,我们也在努力推这东西,今年会有50%左右的业务跑在Docker 上。我觉得灰度发布是对 Docker 一个补充吧,也是一个比较传统的减少业务影响的一种发布方式。

18