一、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键变为空格