ansible-playbook组件解析及操作全解

playbook是由一个或多个”play”组成的列表。play的主要功能在于将事先归为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来将,所谓的task无法是调用ansible的一个module。将多个paly组织在一个playbook中,即可以让他们联通起来按事先编排的机制同唱一台大戏。
1、playbook基础组件:
hosts playbook中的每一个paly的目的都是为了让某个或某些以某个指定用户的身份执行任务。hosts用于指定要执行指定任务的主机,其可以是一个或多个由冒号分割主机组user remote_user则用于指定远程主机上的执行任务的用户。

一、ansible-playbook配置实例

- hosts: test  \\主机组,在/etc/ansible/hosts定义
  remote_user: root  \\远端执行任务的用户
  tasks: \\任务
  -name: install httpd  \\任务描述
   command: yum -y install httpd  \\调用ansible的command模块安装httpd
  -name: provide httpd.conf \\任务描述
    copy:src="/root/httpd.conf" dest="/etc/httpd/conf/httpd.conf" \\调用ansible的copy模块,httpd安装完成后将事先准备好的httpd.conf文件复制到/etc/httpd/conf目录下
    tags: conf  \\给此任务打标记,可单独执行标记的任务,使用 ansible-playbook -C 命令执行
    notify:  \\文件内容变更通知
    - server restart  \\通知到指定的任务
  - name: server start  \\任务描述
    service: name=httpd state=started enabled=true \\调用ansible的service模块的属性定义安装完成httpd以后httpd服务的管理
  handlers: \\定义接受关注的资源变化后执行的动作
  - name: server restart  \\任务描述
    service: name=httpd state=restarted   \\当关注的资源发生变化后调用service模块,采取的响应的动作

    
执行过程如下:
[root@node1 playbook]# ansible-playbook web.yml 
 
PLAY [test] ******************************************************************* 
 
GATHERING FACTS *************************************************************** 
ok: [172.16.2.13]
 
TASK: [install httpd] ********************************************************* 
changed: [172.16.2.13]
 
TASK: [provide httpd.conf] **************************************************** 
changed: [172.16.2.13]
 
TASK: [server start] ********************************************************** 
changed: [172.16.2.13]
 
NOTIFIED: [server restart] **************************************************** 
changed: [172.16.2.13]
 
PLAY RECAP ******************************************************************** 
172.16.2.13                : ok=5    changed=4    unreachable=0    failed=0</span>

二、ansible的roles使用

ansible的roles用于层次性、结构化地组织palybook。roles能够根据层次型结构自动装载变量文件、tasks及handlers等。要使用roles只需要playbook中使用include指令即可

转载于:https://www.cnblogs.com/reaperhero/articles/10337036.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值