Python+Django+Ansible Playbook自動化運維項目實戰
一、入門引導
- DevOPS
DevOps(英文Development和Operations的組合)是一組過程、方法與系統的統稱,用於促進開發(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、協作與整合。它的出現是由於軟件行業日益清晰地認識到:為了按時交付軟件產品和服務,開發和運營工作必須緊密合作。 - Django
- python
自動化資產掃描發現
- 基礎
- paramkio登錄掃描
- pexpect登錄掃描
- telnetlib端口掃描
- nmap存活掃描
- 資產掃描作用
- 進階
- SDK調用掃描ESXI
- snmp網路設備
- KVM虛擬機掃描
- docker容器掃描
ansible 自動化任務
- ansible安裝
- python ansible
- ansible adhoc
- ansible playbook
- 核心類調用
- 進階
- 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
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目錄
5)新建app
python manage.py startapp appname