浅谈对运维开发的理解

运维开发的目标
1 做成web界面
2 权限控制
3 日志记录
4 弱化流程
5 不用ssh到服务器,减少人为操作造成的故障
 
服务化(API化)
DNS Web管理 bind-DLZ  dns-api
负载均衡Web管理 slb-api
Job管理平台 job-api
监控平台 Zabbix  zabbix-api
操作系统安装平台 cobbler-api
部署平台  deploy-api
配置管理平台 saltstack-api
自动化测试平台 test-api
 
1.调用cobbler-api 安装操作系统
2.调用saltstack-api 进行系统初始化
3.调用dns-api 解析主机名
4.调用zabbix-api 将该新上线机器加上监控
5.再次调用saltstack-api 部署软件(安装Nginx,PHP)
6.调用deploy-api 将当前版本的代码部署到服务器
7.调用test-api 测试当前服务器运行是否正常
8.调用slb-api 将该节点加入集群
 
运维发展层级:
智能化
服务化 API化
Web化,平台化
标准化,工具化
 
最终目标实现智能化:
    智能化的自动化扩容,缩容,服务降级,故障自愈。
 
自动化扩容:
触发机制→决策系统→
 
一.zabbix触发
触发:
    1.当某个集群的访问量超过最大支撑梁,比如10000
        1.1 CPU使用率达到xxx 内存使用率达到xxx
    2.持续5分钟
    3.不是攻击
    4.资源池有可用资源
        4.1当前网络带宽使用率
        4.2如果是公有云——钱够不够
    5.当前后端服务支撑梁是否超过阈值,如果超过,应该后端先扩容
    6.数据库是否可以支撑当前并发
    7.当前自动化扩展队列,是否有正在扩容的节点
    8.其他业务相关的
 
先判断Buffer是否有最近x小时,已经创建的虚拟机
并查询软件版本是否和当前一致,如果一致,跳过下面2,3,4步骤
 
二 Openstack 创建虚拟机
三 Saltstack 配置环境
四 部署系统部署当前代码
五 测试服务是否可用(注意间隔和次数)
六 加入集群
七 通知(短信,邮件)
 
 
 
自动化缩容:
    1.触发条件和决策
    2.从集群中移除节点,关闭监控,移除节点
    3.通知
    4.移除的节点存放于Buffer里面,以备之后还需扩容。
    5.Buffer里面的超过一天的虚拟机,自动关闭,存放于XX区
    6.xx区的虚拟机,每7天清理删除。
posted @ 2018-01-23 20:28  铠甲巨人  阅读(541)  评论(0编辑  收藏  举报