Ansible Role
Ansible 在 1.2 版本以后就支持了 role,在实际工作中有很多不同业务需要编写很多 playbook 文件,时间长了以后,对这些 playbook 很难进行维护,这个时候我们就可以采用 role 的方式管理 playbook 。其实 role 只是对我们日常使用的 playbook 的目录进行一些规范,与日常的 playbook 没有什么区别。
role 的目录结构
default/:设定默认变量时使用此目录中的 main.yml 文件
tasks/:定义 task,role 的基本元素,至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含
handlers/:至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含
vars/:定义变量,至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含
meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为 main.yml 的文件,其它文件需在此文件中通过 include 进行包含
files/ :存放由 copy 或 script 模块等调用的文件
templates/: template 模块查找所需要模板文件的目录
role 的使用
role 最经典的使用方式是创建一个 roles 来使用,如下:
我们简答介绍了 Ansible Role 的使用,以后我们会介绍 Ansible 的 Playbook 。
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/741249c683f8399dd5e1ec748】。未经作者许可,禁止转载。
评论