ansbile playbook是一系列ansible命令的集合,利用yaml 语言编写,playbook命令根据自上而下的顺序依次执行。同时,playbook开创了很多特性,它可以允许你传输某个命令的状态到后面的指令,如你可以从一台机器的文件中抓取内容并附为变量,然后在另一台机器中使用,这使得你可以实现一些复杂的部署机制,这是ansible命令无法实现的.
Playbook是Ansible的配置,部署,编排语言。他们可以被描述为一个需要希望远程主机执行命令的方案,或者一组IT程序运行的命令集合。
Playbook组成结构:
Playbooks Variables #变量元素,可传递给Tasks/Templates使用; Tasks #任务元素,即调用模块完成任务; Templates #模板元素,可根据变量动态生成配置文件; Hadlers #处理器元素,通常指在某事件满足时触发的操作; Roles #角色元素
使用Playbook时通过ansible-playbook命令使用,它的参数和ansible命令类似,如参数-k(–ask-pass) 和-K (–ask-sudo) 来询问ssh密码和sudo密码,-u指定用户,这些指令也可以通过规定的单元写在playbook里。
ansible-playbook的简单使用方法:
ansible-playbook /etc/ansible/site.yml
以下是一个简单的playbook例子(play可以有多个):