一、roles的作用
1、对比Includes功能,Roles更适合于大项目playbook的编排架构,简而言之,Ad-Hoc适用于临时命令的执行,Playbook合适中小项目,而大项目一定使用Roles。
2、Roles主要依赖于目录的命名和摆放,默认tasks/main.yml是所有任务的主入口,所以使用roles的过程可以理解为目录规范化命名的过程,如nginx项目:
[root@Ansible roles]# tree nginx
nginx
├── files
│ └── nginx.conf
├── tasks
│ ├── file.yml
│ ├── install_nginx.yml
│ ├── main.yml
│ └── restarted_nginx.yml
├── templates
└── vars