http://docs.ansible.com/ansible/dev_guide/index.html
非常推荐大家看官方文档
本次所用的环境
- ansible
2.3.0.0
- os
Centos 6.7 X64
- python
2.6.6
Ansible 开发分为两大模块,一是modules
,而是plugins
。
首先,要记住这两部分内容在哪个地方执行?
modules
文件被传送到远端主机并执行。plugins
是在ansible服务器上执行的。
再者是执行顺序?
plugins
先于 modules
执行。
然后大家明确这两部分内容是干啥用的?
modules
是ansible的核心内容,它使playbook变得更加简单明了,一个task就是完成某一项功能。ansible模块是被传送到远程主机上运行的。所以它们可以用远程主机可以执行的任何语言编写modules。plugins
是在ansible主机上执行的,用来辅助modules做一些操作。比如连接远程主机,拷贝文件到远程主机之类的。
plugins存放位置
ANSIBLE_plugin_type_PLUGINS
环境变量值指定的目录,其中plugin_type
是指插件类型,如ANSIBLE_INVENTORY_PLUGINS
~/.ansible/plugins/
目录下的- 当前剧本目录下的
callback_plugins
- role目录下的
callback_plugins
modules存放位置
ANSIBLE_LIBRARY
环境变量值指定的目录~/.ansible/plugins/modules/
当前用户目录下/usr/share/ansible/plugins/modules/
系统自定义目录下- 当前剧本目录下的
library
- role目录下的
library
如果想要源文件,请加入QQ群425931784,至群文件下载。