Ansible-Playbook--剧本

#一、Playbook介绍
playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的tasks,可以让远端主机达到预期的状态。playbook是由一个或多个"play"组成的列表。 当对一台机器做环境初始化的时候往往需要不止做一件事情,这时使用playbook会更加适合。通过playbook你可以一次在多台机器执行多个指令。通过这种预先设计的配置保持了机器的配置统一,并很简单的执行日常任务。

ansible是通过不同的模块实现相应的管理,管理的方式通过定义的清单文件(hosts)所管理的主机包括认证的方式连接的端口等。所有的功能都是通过调用不同的模块(modules)来完成不同的功能的。不管是执行单条命令还是play-book都是基于清单文件。

playbook格式:
playbook由YMAL语言编写。YMAL格式是类似于JSON的文件格式,便于人理解和阅读,同时便于书写。

一个剧本里面可以有多个play,每个play只能有一个tasks,每个tasks可以有多个name

核心元素:
Playbooks
Variables :变量元素,可传递给Tasks/Templates使用;
Tasks :任务元素,由模块定义的操作的列表,即调用模块完成任务;
Templates :模板元素,使用了模板语法的文本文件;
Handlers :处理器元素,通常指在某事件满足时触发的操作;
Roles :角色元素

playbook的基础组件:

  • name
    定义playbook或者task的名称(描述信息),每一个play都可以完成一个任务。
  • hosts
    hosts用于指定要执行指定任务的主机.
  • user
    remote_user则用于指定远程主机上的执行任务的用户
  • tasks
    任务列表play的主体部分是task list. task list中的各任务按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个任务后再开始第二个。
  • vars
    定义变量(如果不使用内部变量需要提前定义)
  • vars_files
    调用定义变量文件
  • notify
    任务执行结果如果是发生更改了的则触发定义在handler的任务执行
  • handlers
    用于当前关注的资源发生变化时采取一定指定的操作

###示例一:
在 ansible-web1 服务器的 /opt下 创建playbk_test.txt文件

#配置剧本
[root@ansible-server ~]# vim /etc/ansible/test.yml    #创建文件必须以.yml或者yaml结尾
---
 - host: ansible-web1     #指定对ansible-web1操作
   user: root     #指定root用户去操作
   tasks:     #指定一个任务
   - name: playbk_test     #任务的名称,执行过程会打印出来
     file: state=touch path=/opt/playbk_test.txt     #在/opt下创建play_test.txt文件

#检测剧本
[root@ansible-server ~]# ansible-playbook --syntax-check /etc/ansible/test.yml

playbook: /etc/ansible/test.yml

#运行剧本
[root@ansible-server ~]# ansible-playbook /etc/ansible/test.yml

PLAY [ansible-web1] ********************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************
ok: [ansible-web1]

TASK [playbk_test] *********************************************************************************************************
changed: [ansible-web1]

PLAY RECAP *****************************************************
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值