ansible roles
ansible roles
roles角色
roles角色是ansilbe 1.2引入的新特性,用于結(jié)構(gòu)化、層次化 地組織playbook,roles會(huì)將tasks、files、handlers、vars分別放在不同的目錄下,roles能夠根據(jù)目錄結(jié)構(gòu)自動(dòng)識(shí)別并裝載變量文件、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角色名稱(chēng)
- files :存放由copy或script模塊等調(diào)用的文件
- templates :template模塊查找所需要模板文件的目錄
- tasks:定義task,至少應(yīng)該包含一個(gè)名為main.yml的文件;其它的文件需要在此文件中通過(guò)include進(jìn)行包含
- handlers:至少應(yīng)該包含一個(gè)名為main.yml的文件;其它的文件需要在此文件中通過(guò)include進(jìn)行包含
- vars :定義變量,至少應(yīng)該包含一個(gè)名為main.yml的文件
- meta:定義當(dāng)前角色的特殊設(shè)定及其依賴(lài)關(guān)系,至少應(yīng)該包含一個(gè)名為main.yml的文件,其它文件需在此文件中通過(guò)include進(jìn)行包含
- default :設(shè)定默認(rèn)變量時(shí)使用此目錄中的main.yml文件 ,比vars的優(yōu)先級(jí)低
roles創(chuàng)建規(guī)則
- 創(chuàng)建和playbook文件同級(jí)的roles目錄
- 根據(jù)需要在roles目錄下創(chuàng)建自定義角色名目錄
- 根據(jù)需要在角色目錄下創(chuàng)建tasks、handlers、library、files 、vars、templates等目錄。
- 根據(jù)需要在tasks、handlers