这周总算是完美交付了这个系统,组内开了个会,我给演示了下系统的功能,以及讨论了下接下来要做的东西,包括接口、功能点以及一些可能的bug修复。
上次在《运维与开发的深思》一文中提到了我近期在做的《LVS管理系统》后,有挺多朋友挺感兴趣的,都私下加了我,跟我一起探讨作为运维工程师如何学习编程语言(PHP)、如何用PHP开发运维工具系统等等。也有朋友问到我这套系统能否开源,对此我想说下,并非这系统有多机密不能够开源,而是这套系统在设计的时候,我就是针对我们公司的线上环境来做的,很多东西都是调用我公司的接口,而且由于我们线上的环境较为复杂(例如ssh、scp等操作,都要走特殊通道才能完成,不像一般的环境直接执行ssh、scp命令即可),因此开源出来意义或许也不大。
其实还有一个原因,因为我也是初学,系统只是简单的实现了我想要的功能,代码什么的都写得比较挫,更别说什么优化,发出来只会让高手见笑,哈哈。有需要或者有意见建议的朋友可以私下找我交流。后续有时间,我也会将我一些经验整理下分享出来,包括学习PHP的方法、设计这个系统的一些花絮、开发期间遇到的难题等等。
从上次发博文到现在,系统又做了一些改进,现在使用起来比起刚开始的时候便捷了很多了,主要改进的功能有:
(1)支持快速格式化添加VIP
允许用户格式化快速添加记录,只要按照格式插入后,点击解析即可。(也可按照原来的方法直接填下面的VIP/PORT框
(2)支持快速格式化添加RS
同样按照格式插入即可,权重为空时默认为10
(3)优化生成、发布配置步骤
这个功能的改动较大,现在生成、发布配置所有的操作都在一个页面里完成。将查看、修改新生成配置的步骤独立开来,效果如下:
现在进入这个页面就能清晰的看到所需要执行的步骤,按照提示一步步执行下来即可。首先选择实例,选择完之后会自动load出所有LB,如下所示:
接下来是生成配置,然后发布RS配置
点击详情,可以看到具体执行的任务
点击命令,可以看到该命令执行完的返回信息
接下来检测安装,新上线的业务可能没有装keepalived、quagga(LVS/OSPF),执行检测安装会检测是否已安装,若无则执行安装。迟点这一步将合并到发布LB配置里面去,即点击发布LB配置后,便自动检测安装。
接下来检查生成LB配置是否有问题,点击[查看/修改配置]。原先发布LB配置是在这个页面完成的,现在都统一放到生成、发布配置页面去做,这里只供查看和修改配置
接下来发布LB配置
发布完成后,重载配置。原先重载和发布LB是一起做的,现在我给分离开了,防止有时候发布的配置有误,发布完直接重载生效后影响线上业务。另外这里的重载分为了串行与并行两种模式,并行的话即同时重载,串行模式则1分钟执行一个。这里主要是考虑到,同时重载quagga的话,由于OSPF需要重新收敛,建立邻居关系,出现断网的现象,从而影响线上业务,经观察这个时间大概需要1分钟。
(4)下拉列表改用插件
之前都是直接用普通的下拉列表,暂时也没发现什么问题,但是等哪天系统上业务多了,下拉列表就会很长,变得很恶心了,于是还是换了个插件——chosen,效果挺不错,支持滚动条,而且可动态搜索,效果如下:
到此,整个流程就结束了,之前上线一个业务跑脚本搞来搞去耗时耗力而且特别麻烦,现在通过这个系统上线业务,不到5分钟就搞定了,工作效率确实提高了不少。今天先到这里,后面有时间再继续分享,有什么建议或意见可以跟我联系,有什么不足也欢迎大家批评指正,谢谢。