ansible自1.2版本引入的新特性,用於層次性,結構化地組織playbook。==roles能夠根據層次結構自動裝載變數檔案、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。==簡單來講,roles就是通過分別將變數、檔案、任務、模板及處理器放置於單獨的目錄中,並可以便捷地include它們的一種機制。角色一般用於主機構建服務的場景中,但也可以使用於構建守護程序等場景中
複雜場景:建議使用roles,**復用度高
變更指定主機或主機組
如命令不規範,維護和傳承成本大
某些功能需要多個playbook,通過includes可以實現
roles目錄結構
playbook.yml
roles 這2個是平級關係,都在ansible目錄下
/roles/project/:專案名稱,有以下目錄
tasks/:此目錄中至少應該有乙個名為main.yml的檔案,用於定義各task;其它的檔案需要由main.yml進行「包含」呼叫;
handlers/:此目錄中至少應該有乙個名為main.yml的檔案,用於定義各handler;其它的檔案需要由main.yml進行「包含」呼叫;
vars/:此目錄中至少應該有乙個名為main.yml的檔案,用於定義各variable;其它的檔案需要由main.yml進行「包含」呼叫;
templates/:儲存由template模組呼叫的模板文字;
meta/:==此目錄中至少應該有乙個名為main.yml的檔案,==定義當前角色的特殊設定及其依賴關係;其它的檔案需要由main.yml進行「包含」呼叫;
default/:此目錄中至少應該有乙個名為main.yml的檔案,用於設定預設變數;
綜合實驗:在被控端利用roles裝服務
main.yml裡指明執行的順序
tasks下的teml指令碼裡的template模組裡的src的**,**於templatea/httpd.conf.j2
被控端檢視:
BufferedReader筆記與綜合案例
bufferedreader是乙個字元 緩衝 輸入流,用法和filereader差不多,但是底層封裝了乙個長度為8192的字元陣列作為緩衝,可以提高效率.使用步驟 1.建立乙個filereader物件 2.將filereader封裝成bufferedreader物件 構造方法 bufferedrea...
Ansible roles批量部署nginx
我先將大致實現過程記錄一下,後續完善 server1 主控 ansible節點 server2 待部署的nginx節點 先開另外一台虛擬機器server3,編譯nginx,得到nginx的配置檔案,以及製作nginx的啟動指令碼 在server1 ansible節點 新建nginx的roles目錄,...
python類方法的綜合應用案列
以下是我對類的一些思考,希望可以幫助大家啊 為類calendar新增兩個方法 乙個刪除完成項,乙個新增新增項 a code block 題目要就 刪除 給父母買禮物鍵值對,並新增 寫日記 20 00 class calendar def init self self.date 2020 08 08 ...