Ansible使用基础之playbook模式

Ansible除了命令行模式外,还有另一种执行方式——playbook模式。

一、什么是playbook模式

playbook模式,也称为剧本模式。如同拍戏的剧本,将一部戏化分为一个个小场景,一 一进行拍摄后从而得到完整的电影或电视剧一般。在playbook中,将原本复杂的任务划分做一个个子任务,调用对应的模块进行处理,最后完成所期望的功能。

二、playbook的基本语法

playbook使用的是yaml语法,语法要求较为严格,文件后缀名为 yml

  • 文件顶行写 — ,三个短横
  • 每个除了属性之外的name前都需有 - ,一个短横
  • - 与 : 后至少空一格
  • 同层级的元素缩进必须相同,即必须左对齐!
  • 子级的缩进至少比父级多两个空格!
三、实例

需求:在agent主机组下的主机上安装http服务
编写playbook如下:
实例
元素分析:

  • name:一般用作任务描述,yum之后的name是yum模块的name属性
  • hosts:需要执行任务的主机组名称
  • tasks:任务列表
  • yum/copy/service:功能模块

步骤分析:

  • 调用yum模块安装httpd包

  • 调用copy模块复制本地的httpd.conf配置文件到agent组的主机上进行替换

  • 调用service模块启动http服务,并设置enable,允许开机自启动

四、执行playbook

编写完playbook后,一般会按照以下步骤执行。
例如有任务文件为 inst_httpd.yml

  • 检查语法正确性

     ansible-playbook  --syntax-check  inst_httpd.yml
    
  • 预执行,查看执行过程是否有报错

     ansible-playbook -C inst_httpd.yml
    

    注意是大写的 C
    预执行的方式,会将任务流程在任务主机中走一遍,但不会产生任何直接结果,如同彩排一般,极大避免了直接执行可能出现的意外风险,对执行过程中的错误能及时调整。

  • 直接执行

    ansible-playbook inst_httpd.yml
    

    不加任何参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值