Python+Django+Ansible Playbook自动化运维项目实战


 一、入门引导

  • DevOPS
    DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
  • Django
  • python

自动化资产扫描发现

  • 基础
  1. paramkio登录扫描
  2. pexpect登录扫描
  3. telnetlib端口扫描
  4. nmap存活扫描
  5. 资产扫描作用
  • 进阶
  1. SDK调用扫描ESXI
  2. snmp网路设备
  3. KVM虚拟机扫描
  4. docker容器扫描

ansible 自动化任务

  1. ansible安装
  2. python ansible
  3. ansible adhoc
  4. ansible playbook
  5. 核心类调用
  • 进阶
  1. api接口封装
  2. 方法改写
  3. Redis消息存储
  4. 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

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

pip install ipython

2、Ubuntu下创建django DevOPS工程项目

1)新建虚拟环境

mkvirtualenv devops_pro  # Ubuntu默认使用python2版本

2)home目录下新建目录:project

mkdir project

3)在虚拟环境下,进入project目录,安装django

pip install django==1.8.2

4)新建项目:mydevops

django-admin startproject mydevops

 此时,项目创建好了,进入mydevops目录,可以看到里面有:一个manage.py文件,一个mydevops目录

 Python+Django+Ansible Playbook自动化运维项目实战-LMLPHP

5)新建app

python manage.py startapp appname
03-15 12:07