运维工程师如何-快速-有效的学习好Python-并开发出运维平台-口水篇
运维工程师用不用学习Python?呵呵!
我一直在自学Python。分享下自己的经验。尤其对于有多年工作经验,日常工作也比较忙,没有充足的时间来参加培训的朋友。
首先,你要坚信自己可以搞定一个运维平台,觉得难的,洗洗睡吧!没睡的我们就开始。
知识积累
- 用实用的例子学习Python 《Python Unix/Linux系统管理指南》 PDF自己网上搜。
- 学习HTML、CSS、JS、AJAX、JQuery 《w3school在线教程》http://www.w3school.com.cn/
- 学习Django 《Django Book》 http://docs.30c.org/djangobook2/
- 学习SaltStack 《SaltStack技术入门与实战》。http://item.jd.com/11804150.html 这广告做的,好机智啊。
- 开始吧,注意开始之前先要进行运维标准化的建设,那我们从CMDB开始,CMDB三板斧(数据采集、数据管理和API、数据展现)。
- 增加Cobbler API和IPMI。在CMDB的资产中加入安装、重装等调用,并且进行安装。
- 增加SaltStack API。进行配置管理和远程执行,在CMDB中加入角色的列,根据角色调用Salt API进行部署。
- 增加Zabbix API。根据CMDB的角色做好监控,增加主机和链接模板。需要提前定义好。
- 增加GateOne API。直接嵌入,在CMDB的列表中,加入Console功能,直接调用Key连接。
- Job管理。Job编排、Crontab管理。
- 增加WAF管理,WAF Dashboard显示。编辑规则。
- 增加W3af管理。进行安全扫描。
- 内网DNS怎么办,Cobbler来管理还是Bind+DLZ。写个增删改查的API。
- OpenStack API拿过来做一些统计吧,不要重复造轮子,用Horizon就好。
- Docker你用后发现,没有管理平台不行啊。折腾吧。或者直接mesos marathon
- 自动化扩容不用折腾。SaltStack+OpenStack/Docker+Etcd_Pillar+Etcd。使用Salt-Cloud就行,别搞各种共有云的API了,都封装好了。
- 代码部署,直接做成Job的一种。Job类型有。脚本执行、代码更新、Redis管理、产品经理提的各种需求。
- 登陆验证。这么重要的系统必须要有验证啊。双因素验证,比如加入OTP,比如google authenticator。
- 平台病:如果你按照上面的功能做的差不多的时候,你马上就会犯一个平台的病:这Redis管理、Memcached管理是不是都可以搞过来啊,然后github一搜,发现复制粘贴就可以搞定。
- 可视化:http://echarts.baidu.com/ http://www.hcharts.cn/ 你随便选一个,高端大气上档次。
- 一开始就要考虑到各种权限管理,用户、组、角色、项目。例如:让用户像GitHub一样设置Key,根据权限将Key通过Salt进行部署,这样用户登录后,有权限的机器就可以直接通过GateOne链接。
- 角色还是很有必要使用的,用来管理复杂权限的设置