默认情况下,所有被ansible或ansible-playbook选中的主机都会执行任务,有时在开发和测试阶段只想选择其中某些节点来执行,需要改动inventory文件或playbook的host不是很优雅,ansible 提供了--limit
选项来筛选目标主机。
使用 –limit选项,ansible或ansible-playbook也会解析inventory中定义的所有主机,在执行任务时才会选择定义后的目标主机。
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 27 28 29 30 31 32 33 34 [root@slions_pc1 ansible_poc]# cat two.yml - hosts: test gather_facts: false tasks: - debug: msg: "echo {{ var1 }}" [root@slions_pc1 ansible_poc]# ansible-playbook one.yml PLAY [test] ***************************************************************************************************************************************************************************** TASK [first : 我的测试play] ***************************************************************************************************************************************************************** ok: [192.168.100.10] => { "msg": "echo myvar" } ok: [192.168.100.11] => { "msg": "echo myvar" } PLAY RECAP ****************************************************************************************************************************************************************************** 192.168.100.10 : ok=1 changed=0 unreachable=0 failed=0 192.168.100.11 : ok=1 changed=0 unreachable=0 failed=0 [root@slions_pc1 ansible_poc]# ansible-playbook one.yml --limit 192.168.100.11 PLAY [test] ***************************************************************************************************************************************************************************** TASK [first : 我的测试play] ***************************************************************************************************************************************************************** ok: [192.168.100.11] => { "msg": "echo myvar" } PLAY RECAP ****************************************************************************************************************************************************************************** 192.168.100.11 : ok=1 changed=0 unreachable=0 failed=0