ansible roles
#ansible 角色简介#
* Ansible roles 是为了层次化,结构化的组织Playbook
* roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们
* roles一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高
* 以特定的层级目录结构进行组织的tasks、variables、handlers、templates、files等;相当于函数的调用把各个功能切割成片段来执行。
#roles目录结构#
files ##存放copy或script等模块调用的函数
tasks ##定义各种task,要有main.yml,其他文件include包含调用
handlers ##定义各种handlers,要有main.yml,其他文件include包含调用
vars ##定义variables,要有main.yml,其他文件include包含调用
templates ##存储由template模块调用的模板文本
meta ##定义当前角色的特殊设定及其依赖关系,要有main.yml的文件 defaults##要有main.yml的文件,用于设定默认变量tests ##用于测试角色
#role存放的路径在配置文件ansible.cfg中定义#
roles_path = path/roles (默认目录:/etc/ansible/roles)
#创建目录结构#
$ ansible-galaxy init apache
$ ansible-galaxy list
#playbook中使用roles#
playbook中使用roles:
---
- hosts: