加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

怎样选自动化陈设器材?Saltstack VS Ansible

发布时间:2019-10-31 08:24:00 所属栏目:移动互联 来源:被Python迷倒的大馋猫
导读:在浩瀚自动化陈设器材中做选择题的时辰,信托许多运维城市纠结,到底选哪一个较量好?此刻我就来说说,但愿看完本文,各民气中会有谜底。假如没有,请再看一遍,哈哈哈 术语 Salt和Ansible最初都是作为执行引擎构建的。也就是说,假如必要,它们应承在一个
副问题[/!--empirenews.page--]

 怎样选自动化陈设器材?Saltstack VS Ansible

在浩瀚自动化陈设器材中做选择题的时辰,信托许多运维城市纠结,到底选哪一个较量好?此刻我就来说说,但愿看完本文,各民气中会有谜底。假如没有,请再看一遍,哈哈哈

术语

Salt和Ansible最初都是作为执行引擎构建的。也就是说,假如必要,它们应承在一个或多个长途体系上并行执行呼吁。

Ansible支持在多台计较机上执行恣意呼吁行呼吁。它还支持执行模块。一个Ansible模块根基上是写在必然Ansible友爱的方法一个Python模块。大大都尺度的Ansible模块都是平等的。这意味着你汇报他们你但愿体系进入的状态,而且模块实利用体系看起来像这样。

Ansible有Playbook的观念 。Playbook是一个文件,为一组主机界说了一系列模块执行。Playbook可以改变执行主机模块的方法。这样就可以和谐多台计较机,譬喻在进级应用措施之前将它们从负载均衡器中取出。

Salt有两种范例的模块;execution(执行)模块和 state(状态)模块。执行模块是简朴地执行某些操纵的模块,它可所以呼吁行执行或下载文件。状态模块更像Ansible模块,个中参数界说状态,然后模块实行实现该竣事状态。凡是,状态模块在大大都事变中都行使执行模块。

状态模块是行使state执行模块执行的。状态模块还支持在称为SLS文件的文件中界说状态。在top.sls文件中界说了哪些状态合用于哪些主机 。

Playbook和SLS文件(凡是)都是用YAML编写的。

作为一个旁注,我想指出一个长途执行引擎对付诸如在多台呆板上启动特定操纵之类的使命很是有效。

布局

怎样选自动化陈设器材?Saltstack VS Ansible

Salt环绕一个Salt Master和多个启动时毗连到该主节点的Salt Minions构建。凡是,呼吁是在主呼吁行上发出的。然后,Master将那些呼吁分配给Minions。最初,Minions提倡一个由加密密钥互换构成的握手,之后它们具有耐久的加密TCP毗连。因此可以快速达到Minions。还缓存各类数据以加速执行速率。支持ZeroMQ库举办通讯。

Salt还支持行使SSH而不是行使Salt SSH的ZeroMQ 。可是请留意,它是Alpha软件(我还没有实行过)

怎样选自动化陈设器材?Saltstack VS Ansible

Ansible是无主从观念的,它行使SSH作为其首要通讯层。这意味着速率较慢,但也由于无主从,也许会使运行安装措施和测试Ansible Playbook越发轻易。有人说它也更安详,由于它不必要其他处事器应用措施。这在下方的“安详性”可以具体相识该内容。

Ansible也支持ZeroMQ版本,但必要初始SSH毗连才气举办配置。我实行了一下,说真话,我并没有看到有很明明的提速。我想也许是在大型的Playbook和有更多的主机才可以看到明明结果吧。

要罗列呆板,提议你行使一个Ansible Inventory 文件,该Inventory文件根基上包括按组分组的主机列表,还具有添加到组或单个主机的属性。你可以有多个库存文件,譬喻,一个用于登台,一个用于出产。布局简朴清楚。

社区

Ansible:该项目标别的部门好像不是社区的全力,而是迈克尔·德哈恩(Michael DeHaan)的单人秀。好动静是全部题目城市获得响应的回应。

迄今为止,Salt已被证明是一个更受接待的社区。题目也许要花约莫4天的时刻才气获得复原,但好像大大都题目最终也城市获得跟进。

我的明晰印象是,Salt在受接待和协作方面拥有更成熟的社区。

速率

尽量你也许以为只有几台处事器时速率并不重要,但我以为你是错的。可以或许快速迭代始终很重要。启动迟钝会低落你的速率。

Ansible始终行使SSH提倡毗连。太慢了,它的ZeroMQ实现(如前所述)确实有辅佐,可是初始化如故很慢。

Salt默认行使ZeroMQ,它是很快的。如前所述,Salt可以缓存文件以更快地从头执行。

编排

Ansible和Salt都支持编排。我想说编排法则凡是更轻易得到Ansible的概述。根基上,一个Playbook分为几组使命,每个组与一组主机(或一个主机组)匹配。每个组按次序定时刻次序执行。使命的执行次序也是云云。

Salt支持 变乱和 变乱的监控。这意味着Salt执行可以触发另一台计较机上的变乱。Salt的执行引擎还可以实现诸如监控之类的成果,而将来的成长将很是风趣。

Ansible因其简朴性而在这里得胜。Salt之以是能胜任,是由于它可以或许对聚集变革做出一连的回响。

Salt和Ansible都还支持在处事器窗口上执利用命。这对付确保处事始终可用很是有效。

安详

Ansible行使SSH举办传输。SSH是颠末测试的协议。只要正确设置了SSH处事器,我信托大大都人会以为SSH客户端是安详的。

Ansible还可以轻松地将多个非root用户毗连到单个主机。假如你对历程运行很是挑剔, root则应评估Ansible。也就是说,Ansible支持行使 sudo来执行其模块。

Salt行使AES实现和密钥处理赏罚,必要安装Minions。它为此行使了 PyCrypto软件包。安详性是相等轻易维护。

还必要留意的重要一点是,root默认环境下,Salt运行其Master和Minions 。这可以变动,可是显然假如你不是root用户,则很难安装Debian软件包等。我凶猛提议,对付主处事器,可以将其设置为应承该salt呼吁为非root用户。

可考核性

在评论安详性时,我也以为可考核性很重要。在这里,Salt大赢家。Salt执行的每次执行城市在主处事器上生涯X天。这使调试变得很轻易,并且还可以查察是否产生了非常的工作。

陈设方法

Ansible在这里绝对轻易。无需陈设。虽然,Salt支持SSH,但文档首要回收ZeroMQ。可是,SSH如故很慢...

配置Minions的一件功德是它们是毗连到主节点的Minions。这样可以快速轻松地引导大量新呆板。

Salt 引导剧本 对付引导很是有效,而且垂手可得。它处理赏罚很多差异的漫衍,而且有据可查。

进修曲线

Ansible在这里赢了。更轻易上手和领略。首要是由于配置几个情形变量并开始执行你的Playbook以外,不必要做其他工作。

Salt可以在无主模式下运行。这使得它更轻易启动和运行。可是,出于出产(和不变性)的思量,我提议启动并运行一个现实的Master。

进级

进级Salt取决于安装方法。对付基于Debian的刊行版,有一个apt存储最新Debian软件包的存储库。以是进级很简朴apt-get upgrade。对付Ubuntu,有一个PPA。两个存储库均获得起劲维护。

进级Ansible越发简朴。你只需执行 git fetch && git checkout <tag>罢了。

文献资料

从文档开始,这两个项目都具有启动和运行,开拓模块和设置配置所需的全部信息。Ansible汗青上比Salt拥有更好的文档布局。也就是说,最近在布局化Salt文档方面支付了庞大的全力。

结论

Ansible

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读