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

一个Django项目:搭建基本自动化运维平台[通俗易懂]之前做的一个Python项目,采用了Django的MTV框架搭建,实现的是主机的CMDB平台与作业平台基本功能。基本的搭建步骤:1.确定平台的基本功能有哪些:实现主机的自动添加,删除,修改;实现所管理主机配置信息的监控;实现指定对象的批量管理2.根据上面的功能,设计对应的页面方式,布局,规划如何交互的。:如何执行命令与显示3.根据上面的规划,拟定需要怎样的架构,分别需要几个模块(M…

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

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

相关的自动化脚本有:

1.dhost.py动态主机识别:实际上是一个sqlalchemy函数,获取列表为主机名+IP地址  或 组名+(主机名+IP)在每次用户提交后获得。

2.ansible的Python执行程序:应用在webansi的view.py中,作为模块被调用给task,使用的是ansible的playbook模块框架。在用户每次提交后执行。

3.view.py模块:执行逻辑判断与页面的内容更新,跳转到页面实现。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145438.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Laravel 中 validation 验证 返回中文提示 全局设置

    Laravel 中 validation 验证 返回中文提示 全局设置

    2021年10月23日
    40
  • DVWA登录出现allow_url_fopen = On allow_url_include = On的错误

    DVWA登录出现allow_url_fopen = On allow_url_include = On的错误进入到DVWA页面中:点击下图中按钮Creat/ResetDatabase创建数据库:出现如下错误提示:CouldnotconnecttotheMySQLservice.Pleasechecktheconfigfile.12意思是:无法连接到MySQL服务。请检查你的config文件。问题解决此时我们找到config文件下的config.inc.php文件打开进行操作,将$DVWA[‘db_password’]改为和phpstudy_pro中数据

    2022年7月16日
    14
  • 无人机——舵机篇(七)[通俗易懂]

    无人机——舵机篇(七)[通俗易懂]文章目录1.舵机的基本知识2.舵机的组成3.舵机的工作原理1.舵机的基本知识舵机就是一种有输出轴的小传动装置。这个输出轴能够通过向舵机输入一个编码信号而定位到我们指定的角度位置。只要这个编码信号存在于信号输入线上,舵机就将保持输出轴的当前角度位置不变。一旦编码信号改变,输出轴的角度位置也将跟着改变。实际中,舵机被用于控制无人机升降尾翼、方向尾翼等的位置。

    2022年6月11日
    280
  • java文件上传总结[通俗易懂]

    java文件上传总结[通俗易懂]前言文件上传是各类应用中经常碰到的需求,不管是上传图片、文件、音频、视频等,或者其他类型的文件,都是后端需要解决的,采用什么样的方式进行上传,或者对上传后的文件如何进行存储,甚至如何更加高效的上传文件等问题,都是在实际开发中需要解决的,本文将对常用的文件上传使用进行一下简单的小结以springboot为例,下面我们就开始撸码吧,开工前我们还是做一下简单的准备吧,本文的演示demo框架为springboot2.2.1版本,只需简单引入一个下面的依赖即可,其他需要用到的,我们增量添加即可 <de

    2022年5月15日
    35
  • GridView控件

    GridView控件

    2021年11月28日
    34
  • Ubuntu16.04 环境 Kubeedge安装「建议收藏」

    Ubuntu16.04 环境 Kubeedge安装「建议收藏」前期准备换源#备份sudocp/etc/apt/sources.list/etc/apt/sources.list.bak#更新sources.listsudotee/etc/apt/sources.list<<-‘EOF’debhttp://mirrors.aliyun.com/ubuntu/xenialmaindeb-srchttp://mirrors.aliyun.com/ubuntu/xenialmaindebhttp://mirr

    2022年7月21日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号