Ansible - [06] Playbook
Playbook 概述
Ansible ad-hoc 可以通过命令行形式远程管理其他主机
- 适合执行一些临时性简单任务
Ansible playbook 中文名称叫 剧本
- 将经常需要执行的任务写入一个文件(剧本)
- 剧本中可以包含多个任务
- 剧本写好后,我们随时调用剧本,执行相关的任务名称
- playbook 剧本要求按照YAML格式编写
- 适合执行周期性经常执行的复杂任务
可以根据
ansible-doc
查看对应模块的帮助手册,帮助信息中有playbook的写法案例、
YAML
- 是一个可读性高、用来表达数据序列的格式语言
- YAML:YAML Ain't Markup Language
- YAML 以数据为中心,重点描述数据的关系和结构
YAML格式
- "
#
" 代表注释,一般第一行为三个横杠 - 键值对使用"
:
"表示(冒号后面必须有空格),数组使用"-
"表示 - 缩进必须由两个或以上空格组成(缩进代表层级关系)
- 相同层级的缩进必须对齐
- 全文不可以使用tab键
- 区分大小写、扩展名为
yml
或者yaml
- 跨行数据需要使用
>
或者|
(|
会保留换行符)
--- #动漫
- "航海王":
- "路飞"
- "索隆"
- "火影忍者":
- "鸣人"
- "佐助"
跨行数据
--- #跨行文本(计算机理解为一行)
自我介绍: >
字太白,号青莲居士,
唐代诗人,祖籍陇西郡,
今甘肃省平凉市
--- #跨行文本(计算机理解为多行)
自我介绍: |
字太白,号青莲居士,
唐代诗人,祖籍陇西郡,
今甘肃省平凉市
综合示例
--- #一张发票
发票编号: 34843
日期: 2028-12-12
商品:
- 商品编号: BL394D
描述: 足球
价格: 100
- 商品编号: BL4438H
描述: 棒球
价格: 200
税费: 10.00
总价: 310.00
备注: >
本次采购商品均
属于球类运动商品
--- #错误日志
时间: 2028-10-01 15:01:42
用户: ed
错误信息:
- 文件: nginx.conf
行号: 23
错误编码: "0x3D5FF1"
- 文件: test.php
行号: 12
错误代码: "0xA4C51E"
警告信息: |
你有两个错误信息需要查看,
一条是配置文件错误,
一条是脚本语法错误,
具体内容参考错误信息.
Playbook 语法格式
- playbook采用YAML格式编写
- playbook文件中由一个或多个play组成
- 每个play中可以包含
- hosts(主机)、tasks(任务)
- variables(变量)、roles(角色)、handlers等元素组成
- 使用ansible-playbook命令运行playbook剧本:
ansible-playbook xxx.yml [-f 5]
- hosts由一个或多个组或主机组成,逗号分隔
- tasks由一个或多个任务组成,多个任务按顺序执行
- 可以使用 -f 选项自定义并发量
Playbook 案例
1、配置一个可以ping所有主机的playbook,并调用。
2、ping + 创建文件
3、删除文件
4、一个playbook可以包含多个play
5、编写playbook创建系统账户、账户属性、设置密码
花括号外面必须有双引号
6、编写playbook删除系统账户johnd
7、使用vdb创建卷组和逻辑卷(手动添加虚拟磁盘)
执行结果
8、安装软件、升级软件、安装组包
修改 vim 配置
使用2个空格自动替换tab键:tabstop=2、expandtab
开启自动缩进对齐,缩进宽度为2个空格:shiftwidth=2
(END)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南