Ansible 角色(Roles)是组织 playbook 的核心方式,通过结构化目录实现模块化管理。以下是关键要点:

角色结构 📁

一个标准角色目录包含以下子目录:

  • templates/:存放Jinja2模板文件
  • files/:放置静态文件
  • tasks/:定义主任务文件 main.yml
  • handlers/:配置资源处理程序
  • vars/:存储变量 main.yml
  • meta/:角色元数据 main.yml
  • defaults/:默认变量 main.yml

📌 提示:角色设计遵循 "职责单一" 原则,建议使用 ansible_logo 作为项目标识

创建角色步骤 ✅

  1. 使用 ansible-galaxy role init 初始化角色
  2. 编写 tasks/main.yml 定义具体操作
  3. 在 playbook 中通过 roles: 声明调用
  4. 测试角色功能 ansible-playbook -i inventory playbook.yml

作用与优势 🔍

  • 复用性:可被多个 playbook 共享
  • 可维护性:通过 role_structure 明确职责划分
  • 扩展性:支持嵌套调用与参数传递

如需深入了解 Ansible 基础知识,可访问 quickstart/ansible_intro 文档。