ansible-playbook 使用详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible-playbook 使用详解相关的知识,希望对你有一定的参考价值。

1.  playbook参数详解:

hosts:hosts 用于指定要执行指定任务的主机其可以是一个或多个由冒号分隔主机组。
user:root     指定远程主机上执行任务的用户
remote_user:root
vars:变量
tasks:任务
  - name:描述
module:options
如:serverice name=httpd state=running
 shell:/sbin/setenforce 0
handlers:触发条件
files:文件赋权
template:模板


tags 用于让用户选择运行或略过playbook中的部分代码。ansible具有幂等性因此会自动跳过没有变化的部分即便如此有些代码为测试其确实没有发生变化的时间依然会非常地长。

此时如果确信其没有变化就可以通过tags跳过此些代码片断。


循环:

循环with_items:
---
- hosts: testhost
 user: root
 tasks:
   - name: change mod for file
     file: path=/tmp/{{ item }} mode=600 owner=root group=root
     with_items:
       - 1.txt
       - 2.txt
- 3.txt



条件判断使用handlers模块:

---
- hosts: testhost
 remote_user: root
 tasks:
   - name: test copy
     copy: src=/tmp/1.txt dest=/tmp/2.txt
     notify: test handlers   
 handlers:
   - name: test handlers
    shell: echo "111111" >> /tmp/2.txt

如果要使用handlers模块,则需要调用notify: test handlers是handlers模块的name,要保持一致。

技术分享

从ansible主上拷贝1.txt到远程服务器2.txt,只有到copy完成了,才会执行handlers。


条件判断条件when:

---
- hosts: testhost
 remote_user: root
 gather_facts: True
 tasks:
   - name: use when
     shell: touch /tmp/when.txt
     when: ansible_system_vendor == "IBM"

注意变量要写对,不能写数组,数组的要注意.

cat /tmp/when.yml :

技术分享






本文出自 “dayAndNight” 博客,请务必保留此出处http://hellocjq.blog.51cto.com/11336969/1894572

以上是关于ansible-playbook 使用详解的主要内容,如果未能解决你的问题,请参考以下文章

原创ansible-playbook 详解

ansible-playbook详解与简单应用

ansible自动运维工具之ansible-playbook详解

自动化运维工具Ansible-playbook详解和案例实战

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

Python中verbaim标签使用详解