顧名思義,playbooks就像劇本同樣,將你要作的事情先定義好,而後經過它來執行。這也是ansible一個強大的地方,能夠經過它來作些複雜的應用部署。html
舉個例子:apache
[root@test-201 ~]# cat test-playbook
服務器
- hosts: test tasks:ide
- name: 確認apache是否在運行service: name=httpd state=started12345spa
這是個很簡單的playbooks,首先它指定了要操做的主機組是test,定義了一個名稱:確認apache是否在運行,執行pkg=httpd state=latest動做。
執行以下命令ansible-playbook test-playbook,效果以下:debug
[root@test-201 ~]# ansible-playbook test-playbook orm
PLAY [test] ********************************************************************TASK [setup] *******************************************************************htm
ok: [10.2.31.203]ip
TASK [確認apache是否在運行] ***********************************************************文檔
ok: [10.2.31.203]
PLAY RECAP *********************************************************************
10.2.31.203 : ok=2 changed=0 unreachable=0 failed=0123456789101112
playbooks中文文檔: http://ansible-tran.readthedocs.io/en/latest/docs/playbooks.html
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'