Ansible用脚本管理主机
为了避免重复输入命令,Ansible提供脚本功能。Ansible脚本的名字叫Playbook,使用的是YAML的格式,文件以yml结尾。
注解:YAML和JSON类似,是一种表示数据的格式。
执行脚本playbook的方法
playbook的例子
deploy.yml的功能为web主机部署apache, 其中包含以下部署步骤:
安装apache包;
拷贝配置文件httpd,并保证拷贝文件后,apache服务会被重启;
拷贝默认的网页文件index.html;
启动apache服务;
playbook deploy.yml包含下面几个关键字,每个关键字的含义:
hosts:为主机的IP,或者主机组名,或者关键字all
remote_user: 以哪个用户身份执行。
vars: 变量
tasks: playbook的核心,定义顺序执行的动作action。每个action调用一个ansbile module。
action 语法:
module: module_parameter=module_value
常用的module有yum、copy、template等,module在ansible的作用,相当于bash脚本中yum,copy这样的命令。下一节会介绍。
handers: 是playbook的event,默认不会执行,在action里触发才会执行。多次触发只执行一次。
不懂yml,没关系,上面的deploy.yml格式转化为json格式为:
提供json和yml互转的在线网站: http://www.json2yaml.com/
Last updated