已归录

每个角色,以特定的层级目录结构进行组织。

roles目录结构示例:

playbook.yml 
roles/ 
    <project>/             项目名称,例如 httpd, nginx, mysql 等
        tasks/             定义 task,由 main.yml 去包含其它 task 文件。
        files/             存放 task 引用的静态文件,如 copy 或 script 模块等调用的文件
        vars/              定义变量,由 main.yml 去包含其它变量文件,这些变量优先级高,在剧本中使用时一般不会被改变
        default/           里面的 main.yml 包含了 role 变量的默认值,可以被覆盖,这些变量优化级低,可能在剧本中改变或者自定义
        templates/         模版文件所在目录
        handlers/          由 main.yml 去包含其它 handler 文件
        meta/              该目录下的 main.yml 含义了有关角色的信息,包括 author, license, platforms, and optional role dependencies.
        tests/             This directory can contain an inventory and test.yml playbook that can be used to test the role

这些目录我们不用记忆,也不用手动创建,可以使用如下命令来初始化一个角色:

# ansible-galaxy init httpd

这样,在 httpd/ 下面就会出现 tasks, vars, templates 等目录。

-- By 许望(RHCA、OCM、VCP)
最后修改:2020 年 06 月 01 日 08 : 51 AM
如果觉得我的文章对你有用,请随意赞赏