📅  最后修改于: 2020-12-26 12:21:26             🧑  作者: Mango
角色为文件,任务,模板,变量和模块的完全独立或相互依赖的集合提供了一个框架。
该角色是将剧本分解为多个文件的主要机制。这简化了编写复杂剧本的过程,并使它们更易于重用。剧本的拆分使您可以将剧本拆分为可重用的组件。
每个角色都限于特定的功能或所需的输出,并具有在相同角色本身内或在列为依赖项的其他角色内提供结果的所有必要步骤。
角色不是剧本。角色是可以在剧本中单独使用的小功能。角色没有将角色应用于哪个主机的特定设置。
顶级剧本是将清单文件中的主机保存到应应用于这些主机的角色的桥梁。
角色的目录结构对于创建新角色至关重要,例如:
角色结构
角色在文件系统上具有结构化的布局。您也可以更改角色的默认结构。
例如,让我们坚持角色的默认结构。每个角色本身就是一个目录树。因此,角色名称是/ roles目录中的目录名称。
$ ansible-galaxy -h
ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
角色存储在单独的目录中,并且具有特定的目录结构
[root@ansible-server test2]# tree
.
`-- role1
|-- defaults
| `-- main.yml
|-- handlers
| `-- main.yml
|-- meta
| `-- main.yml
|-- README.md
|-- tasks
| `-- main.yml
|-- tests
| |-- inventory
| `-- test.yml
`-- vars
`-- main.yml