基于之前的博客介绍,我们已经了解了 tasks 和 handlers,那怎样组织 playbook 才是最好的方式呢?简单的回答就是:使用 roles ! Roles 基于一个已知的文件结构,去自动的加载某些 vars,files,tasks 以及 handlers。基于 roles 对内容进行分组,使得我们可以容易地与其他用户分享 roles 。
文件夹里面是要创建的每一个角色,每一个角色一个文件夹
每一个角色里面都有tasks(必须的),templates,files,handlers,vars目录
#roles文件目录树参考如下: --roles文件夹 --角色1文件夹 --templates --files --tasks
--main.yml --vars --handlers
--main.yml --角色2文件夹 --templates --files --tasks
--main.yml --vars --handlers
--main.yml
那么让我们用roles 来安装nginx+uwsgi+mariadb + redis
我已经写好了一个基于roles下载安装nginx+uwsgi+mariadb + redis的目录框架,欢迎下载,目录结构仅供参考