roles
定义主机对应的角色,角色是一组按照目录组合的配置,ansible自动完成文件搜索,去找对应目录下的main.yml文件来执行,具体目录结构如下:
- defaults/ 默认的变量保存在这个目录下
- files/ 文件
- templates/ 模板
- tasks/ 任务
- handlers/ 处理器
- vars/ 变量
- meta/ 角色本身的信息,如通过dependencies指令指定依赖
- library/ 私有模块
另外,你也可以给role传递变量。
这里重点说明下,role是使ansible的状态管理可复用很重要的一个概念,很多时候你只需要在自己的playbook里引用下别人的role即可,大家写的role可以相互共享,相互参考。官方也提供了ansible-galaxy这个命令用于安装社区分享的role,具体可参考Galaxy官网