(1)ansible介紹

隨着業務系統的蓬勃發展,苦逼的運維需要管理的機器越來越多,從all in one 到 幾十 、成百上千、過萬都有可能,往往崗位配置就那麼幾個,面對無此多的設備管理、配置工作壓力爆炸,爲了減少重複頻繁的的工作內容,運維一般會寫很多腳本+定時任務,完成一定程度上的自動化,不過寫腳本實現多項功能,對於腳本功底和所花的時間也不秀氣,爲了能夠在基礎平臺上實現一定的自動化,不得不求助於外界的一些開源技術來彌補這一不足。
當下可選擇的開源使用的自動化工具非常多,代表的有,saltstack、Puppet、Fabric、Chef、ansible等,在這些工具中,我學習使用了saltstack 、Puppet、ansible這三款,通過我個人的感受來說,從部署上來說ansible>saltstack>Puppet ,通過腳本語法來說ansible=saltstack>Puppet ,熱度上來說ansible>saltstack>Puppet,功能上、效率上等方面沒有過多的研究。

一、爲什麼選擇ansible

(1)基於python開發,運維開發門檻低
(2)ansible模塊豐富,基本上滿足日常需求,更新也快
(3)ansible去中心化,簡單的複製就可以配置管理中心的遷移
(4)ansible 無客戶端,支持linux、windows
(5)ansible 可以與雲對接,模塊也比較豐富

二、ansible 是如何工作的

ansible沒有客戶端,利用linux的ssh 通信,windows基於powershell,管理端必須是linux,使用管理節點下發各種指令。

ansible組件介紹
ansible playbook:任務劇本,編排定義好的ansible任務集的配置文件,由ansible依次執行,通常是json格式的yaml文件。

inventory:ansible 管理主機的清單

modules:ansible執行命令的功能模塊,多爲內置核心模塊,可以以自定義;

plugins:模塊功能的補充,連接類插件,循環類插件,變量插件,過濾插件等,該功能不常用。

API : 提供給第三方程序調用的應用程序編程接口。

(1)ansible介紹

三、應用場景

(1)應用部署
ansible內置網絡、應用、系統、第三方雲平臺擴展等完善的功能模塊,協助運維完成快速的應用安裝、卸載、升級、啓動、配置等工作,也支持跨平臺的硬件。
(2)配置管理
ansible內置的file,template,結合jinja、等內置模塊,無縫對接github gitlab git svn jenkins等主流版本控制和CI持續集成工具,讓配置管理自動化。
(3)任務編排
按照指定的要求,按流程、規則、循序的執行計劃,達達提高效率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章