到目前为止,您一直在创建 Ansible 剧本以在您的托管节点上自动执行特定任务。 很有可能其他人已经为您要解决的问题/任务设计了 Ansible 解决方案,而这正是 Ansible 角色的全部意义所在。
在本教程中,您将了解 Ansible 中角色的结构。 您还将学习使用 Ansible Galaxy 中的现成角色。
此外,您将学习创建自己的自定义 Ansible 角色。
在继续本教程之前,请参阅 Ansible 教程系列中的其他章节,以更好地理解此处提到的各种主题。
了解 Ansible 角色
Ansible 角色是文件、任务、模板、变量和处理程序的集合,它们共同服务于特定目的,例如配置服务。 Roles 允许您轻松地重用代码并与其他用户共享 Ansible 解决方案,从而使大型环境的工作更易于管理。
角色目录结构
典型的 Ansible 角色遵循定义的目录结构,通常由以下目录组成:
- 默认值: 包含易于覆盖的角色的默认变量。
- 变量: 包含不打算在您的剧本中覆盖的角色的标准变量。
- 任务: 包含一组要由角色执行的任务。
- 处理程序: 包含一组要在角色中使用的处理程序。
- 模板: 包含要在角色中使用的 Jinja2 模板。
- 文件: 包含角色任务所需的静态文件。
- 测试: 可能包含一个可选的库存文件,以及 测试.yml 可用于测试角色的剧本。
- 元: 包含角色元数据,例如作者信息、许可证、依赖项等。
请记住,一个角色可能具有所有上述目录或只是其中的一个子集。 事实上,您可以定义一个具有零个目录的空角色,尽管这没什么用!
阅读全文
本文的其余部分仅供 LHB Pro 会员使用。 您现在可以以每年 50 美元的价格注册阅读本文的其余部分,并免费访问所有仅限会员的帖子、电子书和视频课程。
订阅
已经有一个帐户?
登入