一、playbook
playbook是使用YAML语言进行编写类似于shell脚本,是用于ansible的配置、部署、管理的剧本,剧本的拓展名通常为.yml。
playbook的基础使用
命令 | 功能 |
---|---|
-u | 用于ssh所连接的用户名 |
-k | ssh登录认证的密码 |
-s | sudo获取root用户权限 |
-U | sudo到对应用户 |
-K | sudo用户密码 |
-T | ssh连接超时,默认是10秒 |
-C | 在加上该命令后,进行playbook执行任务时不会真正执行,而是进行模拟执行,判断剧本是否有语法错误 |
-i | 指定hosts文件路径 |
–list-hosts | 显示会有哪些主机执行该playbook文件,而不是实际进行playbook执行 |
–list-tasks | 列出该playbook中会执行的task |
-v | 在执行任务时显示详细的执行过程,-vv、-vvv可以得到更加详细的执行过程 |
–limit | 指定执行命令的主机 |
–list-tags | 列出命令的tag |
–syntax-check | 选择language |
二、YAML
yaml(全称:YAML Ain’t Markup Language):是用于表达数据序列的一种格式
yaml的格式:
- YAML的开头以”—“为开头,以”…“作为结尾(结尾可省略)
- YAML的结构使用空格
- YAML中的数组使用”-“进行表示
- YAML中的键值使用”:“进行表示
- YAML编辑时,同一个层级缩进必须对齐
- 一个name中只能包含一个task
- YAML对缩进要求十分
- 严格,如使用tab需要在~/.vimrc进行设定
playbook中的核心元素: - hosts:任务的目标主机
- name:对内容进行说明
- tasks:定义具体任务
vim的设定技巧
设置文件:vim ~/.vimrc
autocmd FileType yaml setlocal ai ts=2 sw=2 et
参数 | 功能 |
---|---|
ai(auto indent) | 自动退格对齐 |
ts(tabstop=2) | tab长度设定为两空格 |
sw(shiftwidth=2) | 缩进长度为2 |
et(expandtab) | 将tab键变为空格 |