前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个Django项目:搭建基本自动化运维平台[通俗易懂]

一个Django项目:搭建基本自动化运维平台[通俗易懂]

作者头像
全栈程序员站长
发布2022-08-27 12:03:47
1.6K0
发布2022-08-27 12:03:47
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

之前做的一个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交互工具,交互更加多样化

基本的架构:

一个Django项目:搭建基本自动化运维平台[通俗易懂]
一个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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档