为什么要使用SaltStack进行自动化和编排

在对当时可用的基于Ruby的开源配置管理系统(包括Puppet和Chef)的(慢)速度感到沮丧之后,Thomas S. Hatch在2011年发布了Salt(又名SaltStack平台)。 Hatch使用开源的ZeroMQ消息传递库进行联网,并使用Python作为实现语言。 后来,可扩展性更高的RAET(可靠异步事件传输协议)传输被开发为替代消息队列。

结果是可扩展的自动化系统,通过消息队列网络和多主控体系结构,支持数千个节点。 如果您拥有庞大的网络,SaltStack(无论是开源的Salt还是SaltStack Enterprise)都可能比PuppetChefAnsible更好 。 为了开源Salt,SaltStack Enterprise添加了功能,例如带有可自定义仪表板和报告的Web控制台,具有LDAP集成的基于角色的访问控制,数据库加密和活动审核以及商业支持。

[入门: Azure云迁移指南 •教程: Google Cloud入门 | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

SaltStack架构

SaltStack提供事件驱动的自动化,编排和补救,因为Salt的小仆(代理)可以在其客户不合规格时向其主人报告。 SaltStack还可以使用SSH与无代理节点通信; 节点必须安装Python和SSH。 无代理通信比使用消息队列慢。

盐控制器称为控制器; 盐剂称为奴才 。 盐配置模块称为状态 ,它们以基于Jinja的YAML,Python或PyDSL编写。 数据保存在Struts中颗粒在RAM中保存有关系统的静态信息。 执行模块在由远程执行引擎调用时执行本地操作,并包含跨平台兼容性信息。

在Salt状态模块和执行模块之间,除了一些最新的云产品外,我无法提出许多重要的遗漏。 Serverless现在很热门:我发现对AWS Lambda的官方支持,但对Azure Functions或Google Cloud Functions却没有。 当我向SaltStack询问此问题时,他们说:“我们已经开始对无服务器进行研究,以了解Salt如何与其中的一些无服务器提供商合作,但尚未正式纳入我们的产品。”

YAML尽可能简单地获取配置文件,并且几乎在所有管理员的能力范围内。 使用Python,PyDSL或Python模板语言Jinja可以为您提供所需的灵活性,但需要一点编程技巧。

盐小兵可以一次连接到多个主节点,或者所有主节点都处于活动状态,或者使用一个具有故障转移功能的单个活动主节点。 单独的“联合”功能允许对网络进行分区,以使某些主节点可以控制基础结构的某些部分,“主节点”节点可以控制其下面的多个部分。

SaltStack企业

SaltStack Enterprise通过企业API,企业控制台(具有Chrome和Firefox浏览器支持的Web GUI)以及Salt主插件扩展了已经可扩展的Salt体系结构。 如下图所示,企业API添加了所有Salt主数据库的命令和控制,远程文件服务器,外部Struts存储,作业返回数据库以及具有外部LDAP身份验证的基于角色的访问控制。 对于大型网络(超过1000个小兵),SaltStack Enterprise使用PostgreSQL数据库作为后端。 企业API替代了Salt主聚合组件。

Saltstack企业API IDG

SaltStack Enterprise API向开源Salt体系结构添加了七个新功能。 SaltStack Enterprise可以随时添加到Salt安装中。

SaltStack Enterprise为开发人员工程师和IT运营商提供事件驱动的自动化和编排,以实现本机集成的配置管理,基础架构安全性和合规性以及对云和容器的控制。 事件驱动功能之所以出现,是因为奴才可以通过消息队列向主服务器报告不合规格的情况,并且主服务器可以通过事件反应器修复问题。 在安全和合规性区域,SaltStack Enterprise会针对防火墙规则,侦听端口,CVE扫描,CIS,OpenSSL等的内部和外部策略定义进行审核。

在ITIL方面,SaltStack Enterprise已与Hewlett Packard Enterprise,Nutanix,ServiceNow,Suse,VMware和Zenoss的企业IT解决方案集成。 在云上,SaltStack Enterprise可以与IBM,AWS,Microsoft Azure,Google,OpenStack和其他公司进行多云编排,总共有超过二十个不同的公共和私有云提供商。 它对Docker和LXC容器进行编排和自省。 对于开发人员而言,SaltStack Enterprise不仅可以与Jenkins和Git集成,而且还可以与其他自动化系统(例如Puppet和Chef)一起使用。

盐云

盐云是开源盐的一部分。 它在云主机和虚拟机监控程序上配置系统,并将其置于Salt自动化平台的控制之下。 Salt Cloud与DNS,云存储和负载平衡器进行交互,并自动将新的VM连接到Salt Master,以与Salt平台的其余部分紧密集成。

SaltStack安装和设置

带有引导程序的开源Salt的安装就像在每个master和minion上运行Curl命令和shell命令一样简单。 如果您为主服务器提供DNS名称“ salt”,则各小兵将自动连接到该主机。 否则,他们需要知道主机的IP地址。 您还可以选择通过SSH运行无代理节点,并使用代理minion来控制设备,例如具有专有OS的网络设备。

SaltStack Enterprise仅难安装一点。 如果您是从头开始,则只需一个Yum(RHEL / CentOS)或Zypper(SLES)命令即可安装SaltStack Enterprise服务器,然后如上所述安装开源的Salt Master和Minions。 如果要升级,则可以使用Salt状态使用企业插件来升级每个主服务器。

如果需要,开源Salt会在每个master和minion上安装自己的Python副本。 如果需要,SaltStack Enterprise还将安装自己的PostgreSQL副本。

您可能还需要在SaltStack Enterprise中配置角色,并在所有Salt主数据库中配置凭据。 您还应该在所有小兵中都安装一个Salt信标,但这只需要从SaltStack Enterprise控制台执行一项操作。

-

成本:盐是免费的开放源代码。 SaltStack Enterprise通过订阅许可证提供,起价为每个受管节点每年120美元。 提供批量和多年协议折扣。 此年度订阅中包含几个支持包选项,这些选项包括在内。 SaltStack Enterprise客户也可以享受服务和培训。

平台: SaltStack Enterprise:CentOS,RHEL和SLES支持的主机。 开源Salt:包括CentOS,Debian,RHEL,SLES和Ubuntu在内的最新操作系统 ,既可以作为主服务器又可以作为奴才; 奴才支持AIX,Solaris,Windows和MacOS。

From: https://www.infoworld.com/article/3277970/why-use-saltstack-for-automation-and-orchestration.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值