目录 - 角色的使用
利用角色简化 playbook
ansible可以自定义模块以便于调用,它也有一个特有的名称叫做角色
每个角色对应的服务可能不太一样,比如mysql,httpd,nginx,memcached
虽然每个角色(模块)的功能不一样,但是他们都以特定的目录结构进行组织。
1. ansible 角色优点
1.角色可以把内容分组,容易复用
2.可以用角色定义系统基本信息:web 服务器、数据库服务器等
3.角色可以使大型项目易管理
4.角色可以由不同人并行开发
ansible 角色会把不同功能的 playbook 分开,一个标准的角色含有下列子目录
defaults | 其中的 main.yml 包含角色变量的默认值 |
---|---|
files | 包含角色任务引用的静态文件 |
handlers | 主要定义处理程序 |
meta | 角色相关信息,如作者、许可证等 |
tasks | 定义任务 |
templates | 任务引用的 jinja2 模板 |
tests | 可以包含清单和 test.yml 的 playbook,用于测试 |
vars | 定义角色的变量 |
注: defaults在所有变量中优先级最低
2. 在 playbook 中使用 ansible 角色
2.1 示例
---
- hosts: