日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何選自動化部署工具?SaltstackVSAnsible

在眾多自動化部署工具中做選擇題的時候,相信很多運維都會糾結(jié),到底選哪一個比較好?現(xiàn)在我就來說說,希望看完本文,大家心中會有答案。如果沒有,請再看一遍,哈哈哈

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、都江堰網(wǎng)站維護、網(wǎng)站推廣。

術(shù)語

Salt和Ansible最初都是作為執(zhí)行引擎構(gòu)建的。也就是說,如果需要,它們允許在一個或多個遠(yuǎn)程系統(tǒng)上并行執(zhí)行命令。

Ansible支持在多臺計算機上執(zhí)行任意命令行命令。它還支持執(zhí)行模塊。一個Ansible模塊基本上是寫在一定Ansible友好的方式一個Python模塊。大多數(shù)標(biāo)準(zhǔn)的Ansible模塊都是同等的。這意味著你告訴他們你希望系統(tǒng)進入的狀態(tài),并且模塊嘗試使系統(tǒng)看起來像這樣。

Ansible有Playbook的概念 。Playbook是一個文件,為一組主機定義了一系列模塊執(zhí)行。Playbook可以改變執(zhí)行主機模塊的方式。這樣就可以協(xié)調(diào)多臺計算機,例如在升級應(yīng)用程序之前將它們從負(fù)載平衡器中取出。

Salt有兩種類型的模塊;execution(執(zhí)行)模塊和 state(狀態(tài))模塊。執(zhí)行模塊是簡單地執(zhí)行某些操作的模塊,它可以是命令行執(zhí)行或下載文件。狀態(tài)模塊更像Ansible模塊,其中參數(shù)定義狀態(tài),然后模塊嘗試實現(xiàn)該結(jié)束狀態(tài)。通常,狀態(tài)模塊在大多數(shù)工作中都使用執(zhí)行模塊。

狀態(tài)模塊是使用state執(zhí)行模塊執(zhí)行的。狀態(tài)模塊還支持在稱為SLS文件的文件中定義狀態(tài)。在top.sls文件中定義了哪些狀態(tài)適用于哪些主機 。

Playbook和SLS文件(通常)都是用YAML編寫的。

作為一個旁注,我想指出一個遠(yuǎn)程執(zhí)行引擎對于諸如在多臺機器上啟動特定操作之類的任務(wù)非常有用。

結(jié)構(gòu)

Salt圍繞一個Salt Master和多個啟動時連接到該主節(jié)點的Salt Minions構(gòu)建。通常,命令是在主命令行上發(fā)出的。然后,Master將那些命令分派給Minions。最初,Minions發(fā)起一個由加密密鑰交換組成的握手,之后它們具有持久的加密TCP連接。因此可以快速到達(dá)Minions。還緩存各種數(shù)據(jù)以加快執(zhí)行速度。支持ZeroMQ庫進行通信。

Salt還支持使用SSH而不是使用Salt SSH的ZeroMQ 。但是請注意,它是Alpha軟件(我還沒有嘗試過)

Ansible是無主從概念的,它使用SSH作為其主要通信層。這意味著速度較慢,但也因為無主從,可能會使運行安裝程序和測試Ansible Playbook更加容易。有人說它也更安全,因為它不需要其他服務(wù)器應(yīng)用程序。這在下方的“安全性”可以詳細(xì)了解該內(nèi)容。

Ansible也支持ZeroMQ版本,但需要初始SSH連接才能進行設(shè)置。我嘗試了一下,說實話,我并沒有看到有很明顯的提速。我想可能是在大型的Playbook和有更多的主機才可以看到明顯效果吧。

要列舉機器,建議你使用一個Ansible Inventory 文件,該Inventory文件基本上包含按組分組的主機列表,還具有添加到組或單個主機的屬性。你可以有多個庫存文件,例如,一個用于登臺,一個用于生產(chǎn)。結(jié)構(gòu)簡單清晰。

社區(qū)

Ansible:該項目的其余部分似乎不是社區(qū)的努力,而是邁克爾·德哈恩(Michael DeHaan)的單人秀。好消息是所有問題都會得到相應(yīng)的回應(yīng)。

迄今為止,Salt已被證明是一個更受歡迎的社區(qū)。問題可能要花大約4天的時間才能得到答復(fù),但似乎大多數(shù)問題最終也都會得到跟進。

我的明確印象是,Salt在受歡迎和協(xié)作方面擁有更成熟的社區(qū)。

速度

盡管你可能認(rèn)為只有幾臺服務(wù)器時速度并不重要,但我認(rèn)為你是錯的。能夠快速迭代始終很重要。啟動緩慢會降低你的速度。

Ansible始終使用SSH發(fā)起連接。太慢了,它的ZeroMQ實現(xiàn)(如前所述)確實有幫助,但是初始化仍然很慢。

Salt默認(rèn)使用ZeroMQ,它是很快的。如前所述,Salt可以緩存文件以更快地重新執(zhí)行。

編排

Ansible和Salt都支持編排。我想說編排規(guī)則通常更容易獲得Ansible的概述。基本上,一個Playbook分為幾組任務(wù),每個組與一組主機(或一個主機組)匹配。每個組按順序按時間順序執(zhí)行。任務(wù)的執(zhí)行順序也是如此。

Salt支持 事件和 事件的監(jiān)控。這意味著Salt執(zhí)行可以觸發(fā)另一臺計算機上的事件。Salt的執(zhí)行引擎還可以實現(xiàn)諸如監(jiān)控之類的功能,而未來的發(fā)展將非常有趣。

Ansible因其簡單性而在這里獲勝。Salt之所以能勝任,是因為它能夠?qū)θ杭兓龀龀掷m(xù)的反應(yīng)。

Salt和Ansible都還支持在服務(wù)器窗口上執(zhí)行任務(wù)。這對于確保服務(wù)始終可用非常有用。

安全

Ansible使用SSH進行傳輸。SSH是經(jīng)過測試的協(xié)議。只要正確配置了SSH服務(wù)器,我相信大多數(shù)人會認(rèn)為SSH客戶端是安全的。

Ansible還可以輕松地將多個非root用戶連接到單個主機。如果你對進程運行非常挑剔, root則應(yīng)評估Ansible。也就是說,Ansible支持使用 sudo來執(zhí)行其模塊。

Salt使用AES實現(xiàn)和密鑰處理,需要安裝Minions。它為此使用了 PyCrypto軟件包。安全性是相當(dāng)容易維護。

還需要注意的重要一點是,root默認(rèn)情況下,Salt運行其Master和Minions 。這可以更改,但是顯然如果你不是root用戶,則很難安裝Debian軟件包等。我強烈建議,對于主服務(wù)器,可以將其配置為允許該salt命令為非root用戶。

可審核性

在談?wù)摪踩詴r,我也認(rèn)為可審核性很重要。在這里,Salt大贏家。Salt執(zhí)行的每次執(zhí)行都會在主服務(wù)器上保存X天。這使調(diào)試變得很容易,而且還可以查看是否發(fā)生了異常的事情。

部署方式

Ansible在這里絕對容易。無需部署。當(dāng)然,Salt支持SSH,但文檔主要采用ZeroMQ。但是,SSH仍然很慢...

設(shè)置Minions的一件好事是它們是連接到主節(jié)點的Minions。這樣可以快速輕松地引導(dǎo)大量新機器。

Salt 引導(dǎo)腳本 對于引導(dǎo)非常有用,并且輕而易舉。它處理許多不同的分布,并且有據(jù)可查。

學(xué)習(xí)曲線

Ansible在這里贏了。更容易上手和理解。主要是因為設(shè)置幾個環(huán)境變量并開始執(zhí)行你的Playbook以外,不需要做其他事情。

Salt可以在無主模式下運行。這使得它更容易啟動和運行。但是,出于生產(chǎn)(和穩(wěn)定性)的考慮,我建議啟動并運行一個實際的Master。

升級

升級Salt取決于安裝方式。對于基于Debian的發(fā)行版,有一個apt存儲最新Debian軟件包的存儲庫。所以升級很簡單apt-get upgrade。對于Ubuntu,有一個PPA。兩個存儲庫均得到積極維護。

升級Ansible更加簡單。你只需執(zhí)行 git fetch && git checkout 而已。

文獻(xiàn)資料

從文檔開始,這兩個項目都具有啟動和運行,開發(fā)模塊和配置設(shè)置所需的所有信息。Ansible歷史上比Salt擁有更好的文檔結(jié)構(gòu)。也就是說,最近在結(jié)構(gòu)化Salt文檔方面付出了巨大的努力。

結(jié)論

Ansible

優(yōu)點

  • Ansible無代理部署和通信
  • CLI支持幾乎所有編程語言
  • 使用在Linux發(fā)行版中無所不在的Python
  • 使用SSH / SSH2的出色安全性
  • 附加的塔式儀表板允許對節(jié)點/資源進行可視化管理(在商業(yè)版本中可用)

缺點

  • 有時容易出現(xiàn)性能問題
  • 缺乏內(nèi)省(即查看Playbook變量值)

Salt

優(yōu)點

  • 由于具有多主機功能,因此可快速擴展,非常有彈性且高效
  • 使用Minions比Ansible提供更多的選擇和靈活性
  • 尚無GUI(目前正在開發(fā)中)

缺點

  • 強迫用戶學(xué)習(xí)Python或PyDSL
  • 未開發(fā)的GUI
  • 小型部署不如無代理通信那樣高效

對我而言,Ansible是對自動化服務(wù)器配置和部署的出色介紹。它很容易啟動和運行,并且具有出色的文檔。

展望未來,Salt的可擴展性,速度和體系結(jié)構(gòu)都不錯。對于云部署,我發(fā)現(xiàn)Salt架構(gòu)更合適。將來我會毫不猶豫地使用Salt。

綜上所述,你應(yīng)該在做出決定之前先對兩個項目進行調(diào)整。他們的設(shè)置和測試相當(dāng)快。至此,希望你心中已有答案。


本文名稱:如何選自動化部署工具?SaltstackVSAnsible
URL網(wǎng)址:http://www.dlmjj.cn/article/djogcjh.html