ansible playbook

2018-08-05

ansible playbook

 playbook 就相当于把模块写入到配置文件里

  例:

[root@server ~]# cd /etc/ansible/

[root@server ansible]# vim test.yml

---

- hosts: client.test.com

  remote_user: root

  tasks:

    - name: test_playbook

      shell: touch /tmp/test.txt

  说明:hosts 参数指定了对哪些主机进行操作

   user 参数指定了使用哪个账户登录远程主机操作

   tasks 指定了一个任务,其下面的 name 参数同样是对任务的描述,在执行过程中会打印出来。

  执行:ansible-playbook test.yml

[root@server ansible]# ansible-playbook test.yml



PLAY [client.test.com] *********************************************************



TASK [setup] *******************************************************************

ok: [client.test.com]



TASK [test_playbook] ***********************************************************

changed: [client.test.com]

 [WARNING]: Consider using file module with state=touch rather than running

touch



PLAY RECAP *********************************************************************

client.test.com            : ok=2    changed=1    unreachable=0    failed=0

  例:

[root@server ansible]# vim /etc/ansible/create_user.yml

---

- name: create_user

  hosts: testhosts

  user: root

  gather_facts: false

  vars:

   - user: "test"

  tasks:

   - name: create user

     user: name="{{user}}"

  说明:name 参数对该 playbook 实现的功能做一个概述,后面执行过程中,会打印 name 变量的值,可以省略;

   gather_facts 参数指定了在以下任务部分执行前,是否先执行 setup 模块获取主机相关信息,这在后面的 tasks 需要使用 setup 获取的信息时用到;(# ansible client.test.com -m setup ,setup 模块可收集机器信息)

   vars 参数,指定了变量,这里指定了一个 user 变量,其值为 test,需要注意的是,变量值一定要用引号引起来;

   user 参数指定了调用 user 模块,name 是 user 模块里的一个参数,而增加的用户名字调用了上面 user 变量的值。

  执行:

[root@server ansible]# ansible-playbook create_user.yml



PLAY [create_user] *************************************************************



TASK [create user] *************************************************************

changed: [client.test.com]

changed: [127.0.0.1]



PLAY RECAP *********************************************************************

127.0.0.1                  : ok=1    changed=1    unreachable=0    failed=0

client.test.com            : ok=1    changed=1    unreachable=0    failed=0

标题:ansible playbook
作者:散宜生
地址:https://17kblog.com/articles/2018/08/05/1533467504832.html