Ansible之playbook原理

 

1.什么是playbook

PlayBook即"剧本""兵书"之意,PlayBook是由以下部分组成的

play(host): 定义的是主机的角色。(主角还是配角)
Book(task): 定义的是具体执行的任务。(角色的台词和动作)
playbook: 由一个或多个play(角色)组成,一个play(角色)可以包含多个task(台词,动作)。

简单理解为: 对不同的主机使用很多不同的模块做很多工作完成一件事情

在Ansible中"剧本文件"是以yml结尾的文件。
在SaltStack中"剧本文件"是以sls结尾的文件。
但是语法,使用的都是yaml语法

 

 

2.playbook组成

[root@m01 ~]# vim touch.yml
#指定执行动作的主机组
- hosts: web_group
#指定远端操作的用户
  remote_user: root
#开始定义变量
  vars:
    file_name: lhd
#指定动作
  tasks:
#注释:说明这个动作
    - name: 创建文件
#指定shell模块创建一个文件
      shell: touch /tmp/{{ file_name }}

#执行前检查语法
[root@m01 ~]# ansible-playbook --syntax-check touch.yml 
playbook: touch.yml
#该命令,只能检查语法,无法验证逻辑

 

3.PlayBook与ad-hoc

 

完整性
持久性
特点 PlayBook ad-hoc
执行效率
变量 支持 不支持
耦合度

 

1.PlayBook功能比ad-hoc更全,是对ad-hoc的一种编排.
2.PlayBook能很好的控制先后执行顺序, 以及依赖关系.
3.PlayBook语法展现更加的直观.
4.playbook可以持久使用,ad-hoc无法持久使用.

 

posted @ 2020-10-07 14:32  六月OvO  阅读(359)  评论(0编辑  收藏  举报