ansible-playbook基本介绍
playbook介绍
anslble-playbook是用于批量配置,部署各节点的一个yml格式的剧本。通过playbook的详细描述,执行其中一系列tasks,可以让远程主机完成既定的任务
playbook格式
基本格式
将ansibel change -m ping写成剧本样式
--- ##最上面三条横线 - hosts: change ##主机host,与ansible/hosts文件中配置的host名称一致,前有一个横杠,横杠后空一格,写hosts gather_facts: no ##禁止收集信息,这样执行的时候速度会快一些,但是如果涉及收集主机信息时不能设置为no tasks: ##固定写法 - name: ping server ##执行的任务名称,跟上面的tasks缩进2-3个字符写 ping: ##要执行的模块名称,与name对齐 ##模块名称下面是指定的参数,即ansible命令中'-a'后面的参数
注意,所有的冒号后要空一格
hosts,name,debug,前面要带有"-"
执行效果:
ansible-playbook anstest.yml
建立文件
ansible命令:ansible change -m file -a'path=/root/test.txt mode=750 state=touch'
--- - hosts: change gather_facts: no tasks: - name: setup test.txt file file: ##ansible模块 path: /root/test.txt ##参数前面要与模块名要空两个格 mode: 0750 ##注意,如果是以数字形式设置权限,前面要加0 state: touch
debug模式
剧本执行模块的效果默认是不显示的,如果需要显示执行的效果,可以添加debug模式
--- - hosts: change gather_facts: no tasks: - name: look system file shell: cat /etc/redhat-release register: lookresult ##将输出结果记录 - debug: ##开启debug模式 var=lookresult ##输出register记录的结果,也可以写成lookresult.stdout_lines的形式,只输出模块执行的结果,缩进三个字符