ansible roles 介紹和使用
阿新 • • 發佈:2018-11-11
目錄
roles
roles 介紹
ansible 自1.2版本引入的新特性,用於層次性、結構化地組織playbook。roles能夠根據層次結構自動裝在邊樑文傑、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。簡單來講,roles就是通過分別將變數、檔案、任務、模組以及處理器放置於單獨的目錄中,並可以邊界的include他們的一種機制。角色一般基於主機構建服務的場景中,但也可以是用於構建守護程序等場景中。
一個roles的案例如下所示:
site.yml
wevservers.yml
fooservers.yml
roles/
common/
files/
templates/
tasks/
handlers/
vars/
meta/
wevservers/
files/
templates/
tasks/
handlers/
vars/
meta/
而在playbook中,可以這樣使用roles:
-hosts: wevservers
roles:
- common
- wevservers
也可以向roles傳遞引數,例如:
- hosts: webservers
roles:
- common
- { role: foo_app_instance, dir: '/opt/a', port: 5000 }
- { role: foo_app_instance, dir: '/opt/b', port: 5001 }