d6,ansible(3)

 roles的结构

创建roles的步骤:

1,创建以roles命名的目录,

2,在roles目录中分别创建以各角色名称命名的目录,如webservers等,

3,在每个角色命名的目录中分别创建files、handlers、meta、tasks、templates和vars等目录,用不到的目录可以创建为空目录,也可以不创建,

4,在playbook文件中,调用各角色。

 

roles中各目录应当包含的文件:

tasks目录:至少创建一个名为main.yml的文件,其定义了此角色的任务列表,此文件可以使用include包含其他的位于此目录中的tasks文件。

files目录:存放由copy或者script等模块调用的文件。

templates目录:templates模块会自动在此目录中寻找Jinjia2模板文件。

handlers目录:此目录中包含一个main。

yml文件:用于定义此角色用到的各handler,在handler中使用include包含的其他的handler文件也应该位于此目录中。

vars目录:包含一个main.yml文件,用于定义此角色用到的变量。

meta目录:包含一个main.yml文件,用于定义此角色的特殊设定及其依赖关系。

default目录:为当前角色定义默认变量时使用此目录,包含一个main.yml文件。

 

 

 

playbooks的常用模块及参数

command模块:运行命令

shell模块:运行命令

hostname模块:管理主机名

user模块:管理用户账号

yum模块:程序包

service模块(name,state,enabled):管理linux系统中的服务,

copy模块:将文件从本地或者远程服务器拷贝到远程服务器上的某一个位置,也可以从本地的某一个文件夹拷贝到另外一个文件夹,

fetch模块:可以将远程位置的文件复制到本地,

cron模块:管理计划任务进程,

file模块:管理文件属性,

blockinfile模块:该模块将插入/更新/删除由自定义标记线包围的多行文本块,

pause模块(minutes,seconds):暂停一定时间或者提示用户进行某些操作,

assemble模块(src,dest,group,owner,mode):将多个零散的文件合并成一个大文件,

template模块(backup,force,src,dest,group,owner,mode):可以使用变量来接收远程主机上setup收集到的facts信息,针对不同配置的主机,定制配置文件,

setup模块:获取facts,

set_fact模块:自定义facts,可以通过template或者变量的方式在playbook中使用,

wait_for模块(host,port,path):等待某些操作完成以后再进行后续操作,

add_host模块(name,groups):动态的添加主机到主机组,

group_by模块:动态的创建主机组,

debug模块(msg):用于在调试中输出信息,

fail模块(msg):终止当前play的运行,

 

转载于:https://www.cnblogs.com/pinkbin/p/10445611.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值