Ansible剧本--Playbook,


Ansible剧本--Playbook

Ansible playbook剧本介绍

  • 在ansible中,类似“脚本”的文件被称作“剧本”,英文称为playbook,用于配置、部署和管理被控节点
  • 只需要把模块按照顺序编排在playbook剧本中,ansible就会按照剧本一步一步的执行,最终达到我们需要实现的效果
  • playbook是由一个或多个'play'组成的列表,当我们在工作中需要不止做一件事情的时候,使用playbook会更加适合
  • playbook与ad-doc相比是一种完全不同的运用方式,剧本需要遵循yaml语法格式编写,文件名以'.yaml'或'.yml'作为文件名后缀

playbook核心元素

  • hosts:执行的远程主机列表
  • tasks:任务集
  • variables:内置变量或自定义变量在playbook中调用
  • templates:模板,可替换文件中的变量并实现一些简单逻辑的文件
  • handles和notify结合使用,由特定条件触发的操作,满足条件执行,否则不执行
  • tags:标签,指定某条任务执行,用于选择运行playbook中的部分代码

第一个Playbook剧本

使用ping模块测试远程主机连通性

---
- hosts: 群组名
  remote_user: root
  tasks:
  - name: 自定义名称
    ping:
第一行:playbook剧本以"---"开头表明yaml格式文件
第二行:使用"- "作为开头,"- "表示一个列表项,"- "后面使用hosts关键字指定要操作的主机组名,表示我要在xx组主机上进行操作,在YAML语法中,键值对需要使用冒号作为分隔,而且冒号后面必须还要有一个空格作为分隔
第三行:remote_user关键字可以指定在进行远程操作时使用哪个用户进行操作
第四行:tasks关键字指定要执行哪些操作任务,之后的行都属于tasks任务列表中的任务,每个任务都以"- "开头,每个任务都有自己的名字,任务名使用name关键字进行指定

使用"ansible-playbook playbook.yaml"命令运行剧本
使用"ansible-playbook --syntax-check playbook.yaml"命令检查playbook语法是否正确,如果正确只返回playbook名称
使用"ansible-playbook --check playbook.yaml"命令模拟运行剧本

相关内容