写点什么

Ansible Role

用户头像
耳东
关注
发布于: 3 小时前

Ansible 在 1.2 版本以后就支持了 role,在实际工作中有很多不同业务需要编写很多 playbook 文件,时间长了以后,对这些 playbook 很难进行维护,这个时候我们就可以采用 role 的方式管理 playbook 。其实 role 只是对我们日常使用的 playbook 的目录进行一些规范,与日常的 playbook 没有什么区别。

role 的目录结构

site.ymlwebservers.ymlfooservers.ymlroles/   common/     tasks/     handlers/     files/     templates/     vars/     defaults/     meta/   webservers/     tasks/     defaults/     meta/
复制代码


  • default/:设定默认变量时使用此目录中的 main.yml 文件

  • tasks/:定义 task,role 的基本元素,至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含

  • handlers/:至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含

  • vars/:定义变量,至少应该包含一个名为 main.yml 的文件;其它的文件需要在此文件中通过 include 进行包含

  • meta/:定义当前角色的特殊设定及其依赖关系,至少应该包含一个名为 main.yml 的文件,其它文件需在此文件中通过 include 进行包含

  • files/ :存放由 copy 或 script 模块等调用的文件

  • templates/: template 模块查找所需要模板文件的目录

role 的使用

role 最经典的使用方式是创建一个 roles 来使用,如下:


---- hosts: web  roles:     - common     - webservers
复制代码


我们简答介绍了 Ansible Role 的使用,以后我们会介绍 Ansible 的 Playbook 。

发布于: 3 小时前阅读数: 2
用户头像

耳东

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
Ansible Role