ansible roles
ansible roles
roles角色
roles角色是ansilbe 1.2引入的新特性 ,用于結(jié)構(gòu)化、層次化 地組織playbook,roles會將tasks、files、handlers、vars分別放在不同的目錄下,roles能夠根據(jù)目錄結(jié)構(gòu)自動識別并裝載變量文件、tasks、files 、handlers等,在playbook中使用include指令引入服務(wù)名。
roles目錄結(jié)構(gòu)范例
# 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,至少應(yīng)該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- handlers:至少應(yīng)該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- vars:定義變量,至少應(yīng)該包含一個名為main.yml的文件
- meta:定義當前角色的特殊設(shè)定及其依賴關(guān)系,至少應(yīng)該包含一個名為main.yml的文件,其它文件需在此文件中通過include進行包含
- default :設(shè)定默認變量時使用此目錄中的main.yml文件 ,比vars的優(yōu)先級低
roles創(chuàng)建規(guī)則
- 創(chuàng)建和playbook文件同級的roles目錄
- 根據(jù)需要在roles目錄下創(chuàng)建自定義角色名目錄
- 根據(jù)需要在角色目錄下創(chuàng)建tasks、handlers 、library