Playbooks 顾名思义,playbooks就像剧本一样,将你要做的事情先定义好,然后通过它来执行。这也是ansible一个强大的地方,可以通过它来做些复杂的应用部署。 举个例子: [iyunv@test-201 ~]# cat test-playbook- hosts: test tasks:- name: 确认apache是否在运行service: name=httpd state=started12345这是个很简单的playbooks,首先它指定了要操作的主机组是test,定义了一个名称:确认apache是否在运行,执行pkg=httpd state=latest动作。
执行如下命令ansible-playbook test-playbook,效果如下: [iyunv@test-201 ~]# ansible-playbook test-playbook PLAY [test] ********************************************************************TASK [setup] *******************************************************************ok: [10.2.31.203]TASK [确认apache是否在运行] ***********************************************************ok: [10.2.31.203]PLAY RECAP *********************************************************************10.2.31.203 : ok=2 changed=0 unreachable=0 failed=0123456789101112
小技巧:1.有时候如果想直接操作某台服务器,但又没有在hosts里定义这台服务器时,可以使用如下命令: ansible all -i ‘服务器ip,’
注意服务器ip后面要加个, 如
ansible all -i ‘10.2.31.201,’ -u test -k -a ‘uptime’ 2.有时候我忘记配了哪些主机和组,我又不想看配置文件,有没有什么命令查看? 显示所有的组 ansible localhost -m debug -a 'var=groups.keys()'1显示所有的组和主机 ansible localhost -m debug -a 'var=groups'
|