目录
一、playbook
1 简介
- Playbook与ad-hoc相比,是一种完全不同的运用。
- playbook是一种简单的配置管理系统与多机器部署系统的基础,且非常适合于复杂应用的部署。
- playbook中可以编排有序的执行过程,甚至于做到在多组机器间,来回有序的执行特别指定的步骤,并且可以同步或异步的发起任务。
- 使用playbook可以方便的重用这些代码,可以移植到不同的机器上面。
- playbook才是ansible真正强大之处。
2 playbook语法
playbook由YMAL语言编写,以下为playbook常用到的YMAL格式:
- 文件的第一行应该以"—"三个连字符开始,表明YMAL文件的开始。
- 在同一行中,#之后的内容表示注释,类似于shell,python和ruby。
- YMAL中的列表元素以”-”开头然后紧跟着一个空格,同一个列表中的元素应该保持相同的缩进:
---
# 一个美味水果的列表
- Apple
- Orange
- Mango
一个字典是由一个简单的 键: 值 的形式组成(这个冒号后面必须是一个空格):
---
# 一位职工的记录
name: Example Developer
job: Developer
skill: Elite
字典也可以使用缩进形式来表示, 如果你喜欢这样的话:
---
# 一位职工的记录
{
name: Example Developer, job: Developer, skill: Elite}
3 playbook示例
yaml 以缩进
进行判断!!!
autocmd FileType yaml setlocal ai ts=2 sw=2 et
setlocal ##设定当前文件
ai ##自动退格对齐 auto indent
ts ##tab建长度为2空格 tabstop=2
sw ##缩进长度为2 shiftwidth=2
et ##把tab键变成空格 expandtab
设定一个tab=2个空格
vim apache.yml
Playbook的核心组件:
name 可选,建议使用多用于说明
hosts 受控主机列表
tasks 任务
用与选择执行部分代码
---
- hosts: test %单独主机