ansible roles
ansible roles
roles角色
roles角色是ansilbe 1.2引入的新特性,用于結構化 、層次化 地組織playbook,roles會將tasks、files、handlers、vars分別放在不同的目錄下,roles能夠根據(jù)目錄結構自動識別并裝載變量文件、tasks、files、handlers等,在playbook中使用include指令引入服務名。
roles目錄結構范例
# playbookssite.ymlwebservers.ymlfooservers.ymlroles/ common/ tasks/ handlers/ library/ files/ templates/ vars/ defaults/ meta/ webservers/ tasks/ defaults/ meta/- common,webservers角色名稱
- files:存放由copy或script模塊等調(diào)用的文件
- templates :template模塊查找所需要模板文件的目錄
- tasks:定義task,至少應該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- handlers:至少應該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- vars :定義變量 ,至少應該包含一個名為main.yml的文件
- meta:定義當前角色的特殊設定及其依賴關系,至少應該包含一個名為main.yml的文件,其它文件需在此文件中通過include進行包含
- default:設定默認變量時使用此目錄中的main.yml文件 ,比vars的優(yōu)先級低
roles創(chuàng)建規(guī)則
- 創(chuàng)建和playbook文件同級的roles目錄
- 根據(jù)需要在roles目錄下創(chuàng)建自定義角色名目錄
- 根據(jù)需要在角色目錄下創(chuàng)建tasks、handlers、library、files、vars、templates等目錄。
- 根據(jù)需要在tasks