- A+
所属分类:linux技术
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"命令模拟运行剧本