大家好,又见面了,我是你们的朋友全栈君。
之前做的一个Python项目,采用了Django的MTV框架搭建,实现的是主机的CMDB平台与作业平台基本功能。
基本的搭建步骤:
1.确定平台的基本功能有哪些:实现主机的自动添加,删除,修改;实现所管理主机配置信息的监控;实现指定对象的批量管理
2.根据上面的功能,设计对应的页面方式,布局,规划如何交互的。:如何执行命令与显示
3.根据上面的规划,拟定需要怎样的架构,分别需要几个模块(Modle)几个任务处理的模块(view),几个url跳转的页面(Template中的html)
4.细化每一个功能对应各个(MTV)环节的模块内容(如:主页—–M(模块是一个表,含host,ip,group等字段)—–T(前端是怎样展示出来的)———V(怎样处理前端提交上来的信息))
5.具体到每个模块中调用的函数,处理的逻辑等,如何用具体的代码实现功能。。。
创建了一个app项目,叫myansi,使用了Python中的ansible模块实现自动化批量管理主机的作业平台,ansicfg负责ansible的基本环境准备;
myansible.py上负责每个架构的基本设置,最上层的处理(转交给后续的app应用层)
webansible执行APP具体内容的地方
db.sqilt是一个轻量级的数据库,记录所有的操作生成的数据
manage:一个Django交互工具,交互更加多样化
基本的架构:
相关的自动化脚本有:
1.dhost.py动态主机识别:实际上是一个sqlalchemy函数,获取列表为主机名 IP地址 或 组名 (主机名 IP)在每次用户提交后获得。
2.ansible的Python执行程序:应用在webansi的view.py中,作为模块被调用给task,使用的是ansible的playbook模块框架。在用户每次提交后执行。
3.view.py模块:执行逻辑判断与页面的内容更新,跳转到页面实现。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145438.html原文链接:https://javaforall.cn