ansible-role角色:通過一個批量部署nginx範例學習role
阿新 • • 發佈:2019-05-07
進程 必須 ansi 守護 啟動 它的 ble 處理器 變量 1簡單的介紹role
- ansible自1.2版本引入的新特性,用於層次性、結構化地組織playbook
- roles能夠根據層次型結構自動裝載變量文件、tasks以及handlers等。
- 簡單來講,roles就是通過分別將變量、文件、任務、模板及處理器放置於單獨的目錄中,並可以便捷地include它們的一種機制。角色一般用於基於主機構建服務的場景中,但也可以是用於構建守護進程等場景中
2Ansible Roles目錄編排
- 一個完整role的目錄結構
- 相對應的執行順序
- 啟動文件
- 每個文件夾下都有一個main.yml文件,這是每個模塊目錄必須有的
範例的執行順序詳解
- 1創建組
- 2創建用戶
- 3安裝程序
- 4對應不同版本主機給與不同配置文件
這些模板文件都在templates文件夾下
notify對應的文件在handlers文件夾的main.yml中 -
5拷貝網頁數據
-
6啟動服務
- 7測試
配置文件中已將端口改為8080
一些總結
- 各個目錄作用
/roles/project/ :項目名稱,有以下子目錄
- files/ :存放由copy或script模塊等調用的文件
templates/:template模塊查找所需要模板文件的目錄
tasks/:定義task,role的基本元素,至少應該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含- handlers/:至少應該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- vars/:定義變量,至少應該包含一個名為main.yml的文件;其它的文件需要在此文件中通過include進行包含
- meta/:定義當前角色的特殊設定及其依賴關系,至少應該包含一個名為main.yml的文件,其它文件需在此文中通過include進行包含
- default/:設定默認變量時使用此目錄中的main.yml文件
ansible-role角色:通過一個批量部署nginx範例學習role