今天给大家分享OM自动化运维平台搭建,一方面是给大家在运维提升的道路上有所帮助,另一方面也是给自己的做一个小结。
背景:
本文基于《Python自动化运维 技术与最佳实践》第十三章内容“从零开始打造B/S自动化运维平台”。
平台简介:
OMServer是本平台的名称。OMServer实现了一个集中式的Linux集群管理基础平台,提供了模块扩展的支持,可以随意添加集群操作任务模块,服务器端模块支持前端HTML表单参数动态定制,可灵活实现日常运维远程操作、文件分发等任务;在安全方面,采用加密(RC4算法)指令传输、操作日志记录、分离Web Server与主控设备等。在用户体验方面,采用前端异步请求,模拟Linux终端效果接收返回串。任何人都可以根据自身的业务特点对OMServer平台进行扩展,比如与现有资产平台进行对接,或整合到现有的运维平台中。
系统架构设计:
OMServer平台采用三层设计模式,第一层为Web交互层,采用了Django+prototype.js+MySQL实现,服务器端采用了Nginx+uwsgi构建高效的Web服务;第二层为分布式计算层,采用rpyc分布式计算框架实现,作为第一层与第三层的数据交互及实现主控端物理分离,提高整体安全性,同时具备第三层的多机服务的能力;第三层为集群主控端服务层,支持Saltstack、Ansible、Func等平台。
架构图:
机器搭建规划
主机 | ip | 操作系统 | 软件 | 备注 |
web服务 | 192.168.1.1 | centos7 | Python2.7.5、Django1.4.9、uwsgi2.0.4、MySQL-python、rpyc3.2.3、nginx1.8.0、setuptools0.6c11、django-debug-toolbar0.8.5 | 关闭防火墙和selinux |
server | 192.168.1.2 | centos7 | Python2.7.5、rpyc3.2.3、setuptools39.1.0、ansible2.3.1.0-1 | 主控端 |
agent01 | 192.168.1.3 | centos7 | / | 被控机 |
agent01 | 192.168.1.4 | centos7 | / | 被控机 |