ansible-playbook
- 我们之前讲到的ansible的相关知识,在使用时都是通过一条一条的命令来实现的,但是在实际的生产环境中,我们肯定一次性要执行很多条命令,而playbook就是整合了我们的ansible命令,类似于我们的shell脚本,但是它不是简单的ansible命令的堆积,在playbook中使用的时YAML语法,并且playbook脚本名的后缀一定是
.yml
或者.yaml
。 - 简单示例:
- 假设我们现在要一次性在远程主机上执行ping和创建目录的动作,这个按照之前讲到的ansible命令,我们需要执行两条命令才能够完成,现在我们通过编辑playbook脚本来完成。
脚本解释:
操作对象:testB
在主机中以指定用户身份进行操作:root
tasks后是要执行的动作
第一个动作名为:ping the host(自己定义)
使用的模块:ping(没有指定参数)
第二个动作名为:make directory haha(自己定义)
使用的模块:file
指定参数:路径及名称:/testdir/haha;类型:目录
- yaml语法中需要注意的几点:
- 1、脚本以
---
开头 - 2、每个部分的开头需要有-和一个空格
- 3、参数名后面要加冒号,冒号后要有一个空格才能写具体内容
示例二:修改操作对象
示例三:创建文件
示例四:参数信息可以写在同一行,不使用冒号的格式,可以使用=号连接
- 参数信息也可以分开来写,不使用冒号的格式,使用=号连接
示例五:name参数可以不写,默认为使用的模块名(但这里建议不要省略name参数!)
注意:删掉name参数后,file作为开头,所以需要加-
示例六:name参数可以写在模块的后面(顺序没有影响)
示例六:还可以将hosts写成IP、主机名或者别名,只要与/etc/ansible/hosts内的文件保持一致即可