Bootstrap

5.ansible使用-playbook剧本+roles角色模式-案例实战

1.ansible-playbook角色roles的相关入门
1).角色roles的概念和作用
角色roles是ansible自1.2版本引入的新特性,用于层次性、结构化的组织playbook,roles能够根据层次型结构自动装载变量文件、tasks任务以及handlers触发等。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include他们的一种机制。其实就是将一个大的playbook文件,进行分类拆分,达到根据需要复用的目的。

2).角色roles的目录层级结构
[root@localhost ~]# tree ansible-playbook-roles/ 下面是好几个项目的role,以httpd安装role为例解释
ansible-playbook-roles/ #所有roles的总目录,最外层的,包括playbook的yaml文件
├── host #hosts列表清单目录
│   └── hosts #具体的hosts清单,和/etc/ansible/hosts内容一样,指定部署到哪些机器
├── playbook-all-roles.yml #调用各个roles的总yml文件,可以具体指定调用哪一个role或哪一些role
#指定调用哪些role就是部署相应的role
└── roles #所有roles的总目录,里面是自定义的各个独立的role,部署哪个就配置哪个

;