Chef vs. Puppet vs. Ansible vs. Salt - 哪種工具是最好的 OpenStack 部署管理工具

2015年10月28日發(fā)布

This talk will cover the pros and cons of four different OpenStack deployment mechanisms. Puppet, Chef, Ansible, and Salt for OpenStack all claim to make it much easier to configure and maintain hundreds of OpenStack deployment resources. With the advent of large-scale, highly available OpenStack deployments spread across multiple global regions, the choice of which deployment methodology to use has become more and more relevant.

視頻:
https://www.youtube.com/watch?v=2H95tx7Fuv4

此視頻的目的是:幫助你對配置管理工具做一個合理的選擇

1,為什么配置管理對于運行 OpenStack 是關(guān)鍵性的徘层?

復(fù)雜性:OpenStack 是一個大型的分布式 Iaas 云系統(tǒng)
變化:OpenStack 是一個開源項目酬土,升級快速
持續(xù)性:OpenStack 集群經(jīng)常被復(fù)制到多個環(huán)境
兼容性:OpenStack 自動化的關(guān)鍵性定欧,速度画株,可靠性课舍,兼容性
質(zhì)量保證:OpenStack CM 工具是云管理實現(xiàn)的最佳實踐

2霹俺,四個最流行的配置管理項目是什么敬特?

對于如今的運維來說掰邢,配置管理工具是工作核心的一部分。

工具的流行程度:正在使用/計劃使用

Chef: 28%/18%
Puppet: 24%/19%
Docker: 13%/35%
Ansible: 10%/10%
Salt: 6%/10%

出現(xiàn)時間:

Puppet: 2005
Chef: 2008
Satl: 2012
Ansible: 2013

Snip20160813_78.png
Snip20160813_76.png

3伟阔,它們各自支持 OpenStack 部署的力度

Salt:

配置管理系統(tǒng)辣之,能夠與大規(guī)模的系統(tǒng)進行高速的通信。

能力:可以維持被控節(jié)點的狀態(tài)為被定義的狀態(tài)(例如皱炉,確保某個 packages 的安裝怀估,確保某個服務(wù)處于運行狀態(tài))

基于 Python 開發(fā),使用 push 或者 SSH 與客戶端進行通信合搅《嗖螅可以查詢遠程節(jié)點的數(shù)據(jù)。

使用 AES 協(xié)議灾部,加密地并發(fā)執(zhí)行遠程命令

網(wǎng)絡(luò)層構(gòu)建于 ZeroMQ 分部署消息網(wǎng)絡(luò)庫康铭,使用 mspack 對二進制數(shù)據(jù)進行序列化,以確倍乃瑁快速的網(wǎng)絡(luò)通信从藤。

Salt 的特點和特性

高可擴展性:垂直和水平擴展
一個主控機的管理多個主控節(jié)點

Peer Interface: 允許 Minions 控制其他 Minions催跪;有利于查詢和連續(xù)的代碼發(fā)送

Reactor system: resides on Event Bus with Master;對于事件的反應(yīng)能力夷野;可用于自動代碼部署懊蒸。

Snip20160813_79.png
Snip20160813_80.png

Salt 主要組件:

Salt Master - 控制 Minions

Master Daemon - 為 Master 運行任務(wù)(認證 minions, 與連接的 minions 通信,salt CLI)

Salt Client - 與 Master 運行在同一個機器上悯搔;提供命令給 Master骑丸;用于可通過 Clinet 看到執(zhí)行結(jié)果

Minion - 從 Master 接收命令,運行任務(wù)妒貌,并返回結(jié)果給 Master

Salt Modules - 可在 Salt CLI 上運行的 function (patterns)

Halite - 可選的 web UI

Snip20160813_81.png
Snip20160813_82.png
Snip20160813_83.png

Salt 總結(jié):

Snip20160813_84.png

Ansible

  • Ansible 是一個遠程命令執(zhí)行系統(tǒng)通危,可對命令執(zhí)行進行編排,可數(shù)據(jù)進行查詢苏揣。它是一個配置管理 & 命令執(zhí)行工具黄鳍。

  • 基于 Python推姻,playbooks 的配置語言是 YAML平匈,易于讀寫

  • 提供多種 push 方法,最主要的是基于 SSH 的推送方法

  • 不需要 agent藏古,但需要能 SSH 訪問被控節(jié)點增炭,以及要求被控節(jié)點安裝了 Python 解釋器

特點:

  • 高可擴展性
  • Fact Sharing
  • 強大的編排引擎

Ansible 架構(gòu)

Snip20160813_85.png

主要組件:

Ansible - Python CLI and libraries
Playbooks - YAML 文件,描述任務(wù)如何被執(zhí)行
Roles - Playbooks 和 Varaibles 的集合
Inventory - 服務(wù)器的分組列表
Tower - 企業(yè)版

for OpenStack

Snip20160813_86.png
Snip20160813_87.png
Snip20160813_88.png
Snip20160813_89.png

Ansible 優(yōu)缺點總結(jié):

Snip20160813_90.png

Puppet

開源的配置管理工具拧晕,可進行自動化的系統(tǒng)管理隙姿。

以 Client/Server 架構(gòu)部署,client 周期性地輪詢 Server厂捞,以獲得期望的狀態(tài)输玷,并且返回狀態(tài)報告給 master

分布式的架構(gòu),快速靡馁,高效地 provison, 升級欲鹏,管理節(jié)點

基于 Ruby,使用可定制的 DSL 編寫 manifest臭墨,采用 ERB 構(gòu)建模塊

比較容易增加赔嚎、刪除節(jié)點;每個集群可有多個 master胧弛,組成 HA 架構(gòu)尤误。

任務(wù)是冪等性的(多次執(zhí)行,結(jié)果一樣)结缚,只當節(jié)點狀態(tài)不符合要求時才執(zhí)行

資源是高度抽象的损晤,用戶可忽略命令名、文件格式红竭、文件路徑等細節(jié)尤勋。making manifests OS agnostic

Snip20160813_92.png
Snip20160813_93.png

for OpenStack

Snip20160813_94.png
Snip20160813_95.png

Puppet 優(yōu)缺點總結(jié):

Snip20160813_96.png

Chef:

Snip20160813_97.png
Snip20160813_98.png
Snip20160813_99.png
Snip20160813_100.png
Snip20160813_101.png
Snip20160813_102.png

Chef 優(yōu)缺點總結(jié)

Snip20160813_103.png

幾種工具的對比:

Snip20160813_104.png

4码党,根據(jù)你的角色和組織,如何選擇特定的工具

作為管理者斥黑,關(guān)心的是穩(wěn)定性揖盘,可維護性,大規(guī)模部署能力

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锌奴,一起剝皮案震驚了整個濱河市兽狭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鹿蜀,老刑警劉巖箕慧,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異茴恰,居然都是意外死亡颠焦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門往枣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伐庭,“玉大人,你說我怎么就攤上這事分冈』恚” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵雕沉,是天一觀的道長集乔。 經(jīng)常有香客問我,道長坡椒,這世上最難降的妖魔是什么扰路? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮倔叼,結(jié)果婚禮上汗唱,老公的妹妹穿的比我還像新娘。我一直安慰自己缀雳,他們只是感情好渡嚣,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肥印,像睡著了一般识椰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上深碱,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天腹鹉,我揣著相機與錄音,去河邊找鬼敷硅。 笑死功咒,一個胖子當著我的面吹牛愉阎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播力奋,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼榜旦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了景殷?” 一聲冷哼從身側(cè)響起溅呢,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎猿挚,沒想到半個月后咐旧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡绩蜻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年铣墨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片办绝。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡伊约,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出八秃,到底是詐尸還是另有隱情碱妆,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布昔驱,位于F島的核電站,受9級特大地震影響上忍,放射性物質(zhì)發(fā)生泄漏骤肛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一窍蓝、第九天 我趴在偏房一處隱蔽的房頂上張望腋颠。 院中可真熱鬧,春花似錦吓笙、人聲如沸淑玫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽絮蒿。三九已至,卻和暖如春叁鉴,著一層夾襖步出監(jiān)牢的瞬間土涝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工幌墓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留但壮,地道東北人冀泻。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像蜡饵,于是被迫代替她去往敵國和親弹渔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容