中文手册链接地址:http://www.simlinux.com/archives/409.html

http://www.simlinux.com/books/Ansible-notes.pdf 右键链接另存为

最近因为被管理多个节点上的配置文件弄得必须做很多繁琐,而且需要很小心的注意每个节点上的配置信息弄得很不舒服。而且经常遇见不同服务器节点上部署的service的结构的调整,而且一旦调整就会涉及到一些配置文件参数的调整。情况就是:service架构调整频繁,架构调整相应的一系列配置文件参数需要调整。监控需要调整,supervice进程监控需要调整,日志自动切割需要调整。部署新的service同样会遇见相同的问题。而且需要同时在多个服务器节点的终端上去进行切换。

我实在是忍受不住这种,于是决定利用自动化管理工具来简化这一系列动作。于是就花了2天时间把ansible的官方文档翻了一遍,后面本想说把官网翻译出来,提供给有需要的人使用。不过随后我就搜索除了以上提到的中文手册。文档不是完全按照ansible的官网结构翻译,但确实对官网文档一个很好的整理,我整体的看完一遍,我觉得我没啥必要去翻译了。基本上这位仁兄已经翻译,整理得挺好的,至少能够达成你很多基本的需要。当然如果有什么其他的需求可以上官网上去查。


后面我会先实现  批量部署,配置文件管理,架构轻松变更的功能,然后有时间会尽量做个web来简化工作,以后我就能从这令人厌烦的改配置,管理配置,调架构的工作中解放出来。这种工作实在不想再干了。 

python api 参考官方文档 http://docs.ansible.com/ansible/developing_api.html

此篇就是来推荐这个中文手册



--附加参考资料--

【ansible dynamic inventory:ansible动态的inventory,从CMDB动态接收inventory】

   这个需求是很常见的,如果你们的系统有CMDB,并且期望ansible中主机,主机组的管理能够动态从CMDB中获取,自动生成,那这个动态inventory就会用上。没接触的同学,建议按顺序看下来会比较容易明白怎么回事。

http://www.xiaohuai.com/4141 这个是dynamic inventory的一个简单入门文章

http://ju.outofmemory.cn/entry/95139

另外沈灿这个更加灵活的说明了,我们完全可以写一个脚本,这个脚本可以替换掉我们是ansible/hosts脚本,脚本主要是要满足参数--list,然后需要返回指定格式的数据即可。

http://noops.me/?p=1446  小米团队怎么基于CMDB来做inventory的动态获取,主要是改造管网的例子脚本。


【ansible api with playbook】

另外官网的api文档,只举例了一个如何调用运行model api的文档。没有具体如何运行playbook的文档,这边我就再附上一个如何调用playbook的参考链接。

http://stackoverflow.com/questions/27590039/running-ansible-playbook-using-python-api

这个是具体的lib

https://github.com/ansible/ansible/blob/release1.8.4/lib/ansible/playbook/__init__.py

文档中的例子:

from ansible.playbook import 
PlayBookpb = PlayBook(playbook='/path/to/book.yml, --other initializers--[其他的一些参数,可以在以上提供的lib的链接中看到。])
pb.run()

再添加一个链接:https://groups.google.com/forum/#!topic/ansible-project/V1PoNJcXV_w