Ansible 角色(Roles)是组织 playbook 的核心方式,通过结构化目录实现模块化管理。以下是关键要点:
角色结构 📁
一个标准角色目录包含以下子目录:
- templates/:存放Jinja2模板文件
- files/:放置静态文件
- tasks/:定义主任务文件
main.yml
- handlers/:配置资源处理程序
- vars/:存储变量
main.yml
- meta/:角色元数据
main.yml
- defaults/:默认变量
main.yml
📌 提示:角色设计遵循 "职责单一" 原则,建议使用 ansible_logo 作为项目标识
创建角色步骤 ✅
- 使用
ansible-galaxy role init
初始化角色 - 编写
tasks/main.yml
定义具体操作 - 在 playbook 中通过
roles:
声明调用 - 测试角色功能
ansible-playbook -i inventory playbook.yml
作用与优势 🔍
- 复用性:可被多个 playbook 共享
- 可维护性:通过 role_structure 明确职责划分
- 扩展性:支持嵌套调用与参数传递
如需深入了解 Ansible 基础知识,可访问 quickstart/ansible_intro 文档。