ansible中的角色使用

ansible roles

1、ansible中的角色简介

角色(roles)是ansible自1.2版本开始引入的新特性,用于层次性、结构化的组织playbook;roles能够根据层次型结构自动装载变量文件、tasks以及handlers等剧本元素;简单的说就是,roles通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们的一种机制;角色一般用于基于主机构建服务的场景中,在企业复杂业务场景中应用的频率很高;也可以用于构建守护进程等场景中;roles以特定的层级目录结构进行组织tasks、variables、handlers、templates、files等,相当于函数的调用,把各个功能切割成片段来执行

2、创建及查看角色

ansible-galaxy  init  role1                ##创建角色至当前所在目录

ansible-galaxy  list                        ##查看当前位置ansible配置文件中指定角色路径中的角色

角色存放的路径在ansbile配置文件中定义(默认目录为/etc/ansible/roles):

3、角色的目录结构

目录 作用
tasks

角色需要执行的任务文件放置在此目录中,默认的主任务文件为main.yml;当调用角色时默认会执行main.yml文件中的任务,也可以将其他需要执行的任务文件通过include的方式添加至此目录下的main.yml文件中

handlers

当角色需要调用handlers时,默认会在此目录中的main.yml文件中调用对应的handler
defaults 角色会使用到的变量可以写入至此目录的main.yml文件中,通常此文件的变量都用于设置默认值,以便在没有设置对应变量值时play有默认的变量值可以使用,此文件中的变量的优先级时最低的
vars 角色中会使用到的变量可以写入至此目录的main.yml文件中,不同于上述的是,此目录文件下的变量优先级比较高,可以确保在调用角色时使用到的变量为此目录下文件中的变量值,由于优先级高,此下文件中的变量值不会轻易被覆盖
meta 可以通过将元数据写入至此目录下的main.yml文件来对角色赋予元数据,用于描述角色的相关属性,比如作者信息、角色功能等;也可以在此下main.yml文件中定义此角色依赖于哪些角色,或者改变角色的默认调用设定
templates 此目录下存放着角色相关的模板文件,当没有指定模板路径使用角色相关模板时,会默认调用此目录中对应名称的模板文件
fil
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值