Python+Django+ansible playbook自动化运维项目实战☝☝☝
Python+Django+ansible playbook自动化运维项目实战☝☝☝
一、入门引导
- DevOPS
DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。 - Django
- python
- 基础
自动化资产扫描发现
- paramkio登录扫描
- pexpect登录扫描
- telnetlib端口扫描
- nmap存活扫描
- 资产扫描作用
- 进阶
- SDK调用扫描ESXI
- snmp网路设备
- KVM虚拟机扫描
- docker容器扫描
- ansible安装
- python ansible
- ansible adhoc
- ansible playbook
- 核心类调用
ansible 自动化任务
- 进阶
- api接口封装
- 方法改写
- Redis消息存储
- Mongo事件日志
二、工程初识和环境搭建
1、自动化工程总体设计
- 资产的自动化扫描发现
- 用python程序扫描发现企业内部的所有资产,当资产出现变动能自动及时发现并完成资产变更.
- 如:ip,硬件型号,SN,MAC,系统版本
- ansible的自动化任务执行
- 使用ansible的ad-hoc和playbook实现批量主机的自动化任务
2、python等基础环境安装
1)python安装
2)setuptools安装
3)pip工具安装
3、Mysql 、 Mongo 、 Redis 安装
1)MySQL安装:
apt-get install mysql-server
2)Mongo安装:
apt-get install mongodb
启动/重启mongodb :/etc/init.d/mongodb start / restart
查看mongodb监听的端口 :netstat -luntp | grep mongo
使用客户端模拟登陆mongodb:直接输入 mongo
mongodb配置文件修改:
vi /etc/mongodb.conf
# 将mongodb.conf 代码里面的bind_ip地址改成0.0.0.0
bind_ip =0.0.0.0
# 修改完保存后,记得重启mongodb
3)Redis安装:
apt-get install redis-server
修改配置文件:
vim /etc/redis/redis.conf
# 将redis.conf中的bind 127.0.0.1 改成0.0.0.0
bind 0.0.0.0
# 修改保存后重启
/etc/init.d/redis-server start
# 模拟客户端连接redis服务端 ,直接输入:
redis-cli
4、让项目在Ubuntu中run起来
1)本项目是已经完工的,我们从GitHub上将项目拉取下来
git命令使用: git clone
1 |
git clone https://github.com/iopsgroup/imoocc |
2)从工程中找到:requirements.tex 文件 ,我们在虚拟环境下运行
首先,创建虚拟环境:
mkvirtualenv imoocc # 创建虚拟环境
workon imoocc # 进入虚拟环境
然后,在imoocc虚拟环境中,install项目所依赖的环境:
pip install -r ./requirements.txt
3)在mysql中创建数据库,需要与项目中用到的数据保持一致
4)将项目中用到的数据表结构,迁移到本地数据库中:
# 执行下面两行代码
python manege.py makemigrations
python manage.py migrate
5)运行项目:
python manage.py runserver 0.0.0.0:8000
三、DevOPS工程快速入门引导
1、Ipython
一个基于python的交互解释器。自动补全、历史记录、获得对象信息
安装:python/Script
1 |
pip install ipython |
2、Ubuntu下创建django DevOPS工程项目
1)新建虚拟环境
1 |
mkvirtualenv devops_pro # Ubuntu默认使用python2版本 |
2)home目录下新建目录:project
1 |
mkdir project |
3)在虚拟环境下,进入project目录,安装django
1 |
pip install django==1.8.2 |
4)新建项目:mydevops
1 |
django-admin startproject mydevops |
此时,项目创建好了,进入mydevops目录,可以看到里面有:一个manage.py文件,一个mydevops目录
5)新建app
1 |
python manage.py startapp appname |
Python+Django+ansible playbook自动化运维项目实战☝☝☝的更多相关文章
- Python+Django+ansible playbook自动化运维项目实战✍✍✍
Python+Django+ansible playbook自动化运维项目实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受 ...
- Python+Django+Ansible Playbook自动化运维项目实战
Python+Django+AnsiblePlaybook自动化运维项目实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单 ...
- Python Linux系统管理与自动化运维
Python Linux系统管理与自动化运维 前言 第1章Python语言与Linux系统管理1 1.1Python语言有多流行1 1.2Python语言为什么流行3 1.3Python语言有什么缺点 ...
- Linux运维项目实战系列
Linux运维项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-项目实战2-实现基于LVS负载均衡集群的电商网站架构 2.1项目实战2.1-nginx 反向 ...
- Python自动化运维开发实战 一、初识Python
导语 都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. ...
- sshpass做秘钥分发,ansible做自动化运维工具
最近公司机器的增多,顺便还要上报表系统,考虑到服务器越来越多,手工的管理显得越来的越吃力,所以打算推进公司自动化运维工具的使用. 推进的过程中,一步一个坑踩过来的.由于公司之前未运用过自动化运维工具, ...
- python+Django实现Nagios自动化添加监控项目
最近机房刚上了一批机器(有100台左右),需要使用Nagios对这一批机器进行监控.领导要求两天时间完成所有主机的监控.从原来的经验来看,两天时间肯定完成不了.那怎么办?按照之前的想法,肯定是在nag ...
- python 自动化运维项目_目录
微信小程序监控界面 CMDB 跳板机 代码上线系统 网站用户访问质量监测 分布式监控 Docker自动化管理平台 Openstack二次开发
- Ansible自动化运维应用实战
实验环境 centos7.4 主机名称 IP 配置 用途 controlnode 172.16.1.120 1核/1G/60G ansible slavenode1 172.16.1.121 1核/1 ...
随机推荐
- Go语言标准库之net_http
Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的实现. HTTP协议 超文本传输协 ...
- C# 表达式树Lambda扩展(四)
一.前言 本来计算这篇文章在后面需要运用的时候写的,但是既然写到表达式的扩展呢,就一起写完吧. 看到这个标题就有一种疑问,Lambda表达式本来就是表达式树,还需要怎么扩展?那就看看下面的内容,你就知 ...
- Docker入门到实践——简单操作
1.对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2.基本概念 Docker包括三个基 ...
- python pandas进行条件筛选时出现ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().”
在使用pandas进行条件筛选时,使用了如下的代码: fzd_index=data[(data['实际辐照度']<mi)or(data['实际辐照度']>ma)].index 原本以为,并 ...
- 03 jvm的组成
声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之 ...
- Elasticsearch(9) --- 聚合查询(Bucket聚合)
Elasticsearch(9) --- 聚合查询(Bucket聚合) 上一篇讲了Elasticsearch聚合查询中的Metric聚合:Elasticsearch(8) --- 聚合查询(Metri ...
- [MySQL] 02- Optimisation solutions
前言 一.资源 MySQL 对于千万级的大表要怎么优化? - MySQL - 知乎[方法论] MySQL大表优化方案[一些优化的细节操作] MySQL大表优化方案[一些优化的细节操作] 分布式数据库下 ...
- Android MediaPlayer 音频倍速播放,调整播放速度
本文链接: Android MediaPlayer 倍速播放,调整播放速度 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 2 ...
- 数据结构之二叉树篇卷一 -- 建立二叉树(With Java)
一.定义二叉树节点类 package tree; public class Node<E> { public E data; public Node<E> lnode; pub ...
- redirectTo、navigateTo与switchTap区别
老是记忆不大清楚,简单写一下 简单作区分就是: redirectTo:关闭当前页(卸载),跳转到指定页 navigateTo:保留当前页(隐藏),跳转到指定页 switchTap:只能用于跳转到tab ...