Ansible Roles

2024 年 8 月 29 日 | 阅读 2 分钟

角色为完全独立或相互依赖的文件、任务、模板、变量和模块的集合提供了一个框架。

角色是将剧本分解为多个文件的主要机制。这简化了编写复杂剧本并使其更容易重用。剧本的分解允许您将剧本分解为可重用的组件。

每个角色都仅限于特定的功能或所需的输出,所有必要的步骤都在同一角色本身内或在列为依赖项的其他角色中提供该结果。

角色不是剧本。角色是可以在剧本中独立使用的小功能。角色没有关于该角色将应用于哪些主机的特定设置。

顶级剧本是将库存文件中的主机连接到应应用于这些主机的角色的桥梁。

创建角色

角色的目录结构对于创建新角色至关重要,例如

角色结构

角色在文件系统上具有结构化的布局。您也可以更改角色的默认结构。

例如, 让我们坚持角色的默认结构。 每个角色本身就是一个目录树。 因此,角色名称是 /roles 目录中的目录名称。

用途

选项

  • -h: (help) 它显示此帮助消息并退出。
  • -v: (verbose) 详细模式(更多使用 -vvv,启用连接调试使用 -vvvv)。
  • --version: 它显示程序版本号并退出。

角色存储在单独的目录中,并具有特定的目录结构

说明

  • 默认目录中的 YAML 文件包含要与剧本一起使用的默认变量列表。
  • handler 目录用于存储处理程序。
  • meta 目录应该包含有关作者和角色依赖关系的信息。
  • tasks 目录是角色的主要 YAML 文件。
  • tests 目录包含一个示例 YAML 剧本文件和一个示例库存文件,主要用于在创建实际角色之前进行测试。
  • vars 目录包含 YAML 文件,其中将定义角色使用的所有变量。 目录模板和目录文件应包含将由角色中的任务使用的文件和模板。

下一个主题Ansible 变量