大体逻辑
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<code>#这个是你选择的主机</code>
<code>- hosts: webservers</code>
<code>#这个是变量</code>
<code> </code><code>vars:</code>
<code> </code><code>http_port: 80</code>
<code> </code><code>max_clients: 200</code>
<code>#远端的执行权限</code>
<code> </code><code>remote_user: root</code>
<code> </code><code>tasks:</code>
<code>#利用yum模块来操作</code>
<code> </code><code>- name: ensure apache is at the latest</code>
<code>version</code>
<code> </code><code>yum: pkg=httpd state=latest</code>
<code> </code><code>- name: write the apache config </code><code>file</code>
<code> </code><code>template: src=</code><code>/srv/httpd</code><code>.j2</code>
<code>dest=</code><code>/etc/httpd</code><code>.conf</code>
<code>#触发重启服务器</code>
<code> </code><code>notify:</code>
<code> </code><code>- restart apache</code>
<code> </code><code>- name: ensure apache is running</code>
<code> </code><code>service: name=httpd state=started</code>
<code>#这里的restart</code>
<code>apache 和上面的触发是配对的。这就是handlers的作用。相当于tag</code>
<code> </code><code>handlers:</code>
<code> </code><code>- name: restart apache</code>
<code> </code><code>service: name=httpd state=restarted</code>
<code>#playbook.yml</code>
<code>--- </code><code>#顶行写</code>
<code>- hosts: webservers </code><code>#顶行写</code>
<code> </code><code>remote_user: root </code><code>#两个空格 </code>
<code> </code><code>tasks: </code><code>#两个空格 </code>
<code> </code><code>- name: </code><code>whoami</code> <code>#四个空格</code>
<code> </code><code>copy: src=~</code><code>/hosts</code> <code>dest=~</code><code>/hosts</code><code>.dest </code><code>#六个空格 </code>
<code> </code><code>notify: </code>
<code> </code><code>- </code><code>clear</code> <code>copy </code><code>#10个空格</code>
<code> </code><code>handlers: </code><code>#两个空格</code>
<code> </code><code>- name: </code><code>clear</code> <code>copy </code><code>#四个空格</code>
<code> </code><code>shell: </code><code>'mv ~/hosts.dest hosts.del'</code> <code>#六个空格</code>
<code>主机: - hosts</code>
<code>用户 remote_user</code>
<code>变量 vars:</code>
<code>任务 tasks:</code>
<code>任务完成所需要做的东西:handlers</code>
远程主机安装httpd并启动
<code>---</code>
<code> </code><code>- name: ensure apache is latest</code>
<code> </code><code>yum: pkg=httpd state=latest</code>
<code> </code><code>- name: runing</code>
<code> </code><code>service: name=httpd state=started</code>
<code></code>
本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1837820,如需转载请自行联系原作者