自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何選自動(dòng)化部署工具?Saltstack VS Ansible

新聞 開(kāi)發(fā)工具 自動(dòng)化
在眾多自動(dòng)化部署工具中做選擇題的時(shí)候,相信很多運(yùn)維都會(huì)糾結(jié),到底選哪一個(gè)比較好?現(xiàn)在我就來(lái)說(shuō)說(shuō),希望看完本文,大家心中會(huì)有答案。

 [[280781]]

在眾多自動(dòng)化部署工具中做選擇題的時(shí)候,相信很多運(yùn)維都會(huì)糾結(jié),到底選哪一個(gè)比較好?現(xiàn)在我就來(lái)說(shuō)說(shuō),希望看完本文,大家心中會(huì)有答案。如果沒(méi)有,請(qǐng)?jiān)倏匆槐?,哈哈?/p>

術(shù)語(yǔ)

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

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

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

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

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

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

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

結(jié)構(gòu)

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

Salt還支持使用SSH而不是使用Salt SSH的ZeroMQ 。但是請(qǐng)注意,它是Alpha軟件(我還沒(méi)有嘗試過(guò))

Ansible是無(wú)主從概念的,它使用SSH作為其主要通信層。這意味著速度較慢,但也因?yàn)闊o(wú)主從,可能會(huì)使運(yùn)行安裝程序和測(cè)試Ansible Playbook更加容易。有人說(shuō)它也更安全,因?yàn)樗恍枰渌?wù)器應(yīng)用程序。這在下方的“安全性”可以詳細(xì)了解該內(nèi)容。

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

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

社區(qū)

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

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

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

速度

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

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

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

編排

Ansible和Salt都支持編排。我想說(shuō)編排規(guī)則通常更容易獲得Ansible的概述?;旧希粋€(gè)Playbook分為幾組任務(wù),每個(gè)組與一組主機(jī)(或一個(gè)主機(jī)組)匹配。每個(gè)組按順序按時(shí)間順序執(zhí)行。任務(wù)的執(zhí)行順序也是如此。

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

Ansible因其簡(jiǎn)單性而在這里獲勝。Salt之所以能勝任,是因?yàn)樗軌驅(qū)θ杭兓龀龀掷m(xù)的反應(yīng)。

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

安全

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

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

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

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

可審核性

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

部署方式

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

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

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

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

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

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

升級(jí)

升級(jí)Salt取決于安裝方式。對(duì)于基于Debian的發(fā)行版,有一個(gè)apt存儲(chǔ)最新Debian軟件包的存儲(chǔ)庫(kù)。所以升級(jí)很簡(jiǎn)單apt-get upgrade。對(duì)于Ubuntu,有一個(gè)PPA。兩個(gè)存儲(chǔ)庫(kù)均得到積極維護(hù)。

升級(jí)Ansible更加簡(jiǎn)單。你只需執(zhí)行 git fetch && git checkout <tag>而已。

文獻(xiàn)資料

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

結(jié)論

Ansible

優(yōu)點(diǎn)

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

缺點(diǎn)

  • 有時(shí)容易出現(xiàn)性能問(wèn)題
  • 缺乏內(nèi)?。床榭碢laybook變量值)

Salt

優(yōu)點(diǎn)

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

缺點(diǎn)

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

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

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

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

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2015-08-17 14:13:52

Ansible輕量自動(dòng)化部署工具

2014-09-22 11:24:18

運(yùn)維

2013-08-30 14:30:59

系統(tǒng)自動(dòng)化自動(dòng)化配置SaltStack

2018-08-31 09:55:38

Ansible網(wǎng)絡(luò)自動(dòng)化

2017-03-22 16:31:30

Linux運(yùn)維自動(dòng)化ansible

2017-03-22 18:30:44

Linux運(yùn)維自動(dòng)化ansible

2018-10-16 10:13:21

2021-10-14 09:55:28

AnsibleanacronLinux

2015-11-09 14:27:36

Ansiblelinux自動(dòng)化運(yùn)維

2015-10-08 10:55:23

云服務(wù)自動(dòng)化運(yùn)維 ANSIBLE

2014-03-11 11:10:10

PowerShell自動(dòng)化腳本

2016-10-28 08:39:23

WebHook運(yùn)維工具

2010-05-26 16:21:25

2013-07-02 10:45:38

2022-07-29 14:39:17

Ansible運(yùn)維工具

2024-01-24 18:50:21

WebFTP服務(wù)器

2024-12-31 09:46:45

2021-02-22 18:50:03

Ansible系統(tǒng)運(yùn)維

2013-11-27 11:34:43

自動(dòng)化部署Python

2023-04-06 07:09:25

自動(dòng)化部署Actions
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)