1. 程式人生 > 實用技巧 >自動化運維工具 ansible 安裝應用

自動化運維工具 ansible 安裝應用

一、ansible 簡介

ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。ansible是基於 paramiko 開發的,並且基於模組化工作,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種框架。ansible不需要在遠端主機上安裝client/agents,因為它們是基於ssh來和遠端主機通訊的。ansible目前已經已經被紅帽官方收購,是自動化運維工具中大家認可度最高的,並且上手容易,學習簡單。是每位運維工程師必須掌握的技能之一。

二、特點
1、ansible不需要單獨安裝客戶端,也不需要啟動任何服務
2、ansible是python中的一套完整的自動化執行任務模組
3、ansible playbook 採用yaml配置,對於自動化任務執行過一目瞭然

三、框架圖

ansible.cfg  #ansible的配置檔案,包含各種Ansible全域性性質的引數,可在不同專案下或者不同使用者下建立一樣的ansible.cfg檔案,作為區域性配置檔案,
#檢索順序:區域性-->全域性 inventory #裝置列表,當跑指令碼時,需要告訴Ansible針對哪些裝置或裝置組 variable #變數 module #模組,通過其他語言編寫而成,能實現某個特定的功能的工具,例如思科配置介面的模組,修改ip地址的模組等等 Jinja2 #模板系統,Ansible可實現批量配置網路裝置 Role #角色,一套資料夾,裡面定義了例如變數,具體任務task。Role裡面定義的內容可以實現某些特殊功能,而你在使用不通的指令碼過程中可以匯入
#Role來實現某一個功能。而不用重複寫 #以上的元件,會由以下的“客戶”來使用 Ad
-hoc #即插即用,簡易模式,一條命令,一次使用 playbook #劇本,基於YAML檔案格式書寫,可以包含Ansible任意功能,無論是裝置列表,變數,jinja2模板,條件迴圈,模組等等

四、在CentOS7上安裝

#1.安裝EPEL擴充套件軟體倉庫
yum -y install epel-release

#2.安裝Ansible
yum -y install ansible

#3. 檢查ansible的版本和執行環境
ansible --version

安裝後目錄如下(yum安裝):

配置檔案目錄:/etc/ansible/
執行檔案目錄:/usr/bin/
Lib庫依賴目錄:/usr/lib/pythonX.X/site-packages/ansible/
Help文件目錄:/usr/share/doc/ansible-X.X.X/
Man文件目錄:/usr/share/man/man1/

配置檔案為/etc/ansible/ansible.cfg
主機清單檔案為 /etc/ansible/hosts

其餘詳細配置見https://www.cnblogs.com/keerya/p/7987886.html