文章目录

  • SaltStack是什么
    • Salt是什么
    • Salt的主要功能
    • Salt提供了以下几项核心能力
    • Salt建立在许多优秀的技术之上
    • 关于使用许可
      • SaltStack Open 开源项目
      • SaltStack Enterprise 商业软件
      • Salt vs. 其它多种类似工具工具
  • SaltStack专业资格认证的介绍
    • SaltStack Certified Administrator (SSCA)
    • SaltStack Certified Engineer (SSCE)
  • SaltStack适合什么样的企业或团队
  • 关于SaltStack的版本号与代码名称
    • Version Numbers - Salt 的软件版本号经历了三个发展阶段
    • Code Names - Salt的代码名称
  • SaltStack在2020年最新技术发展趋势
    • 更多的网络自动化配置与维护
    • 安全扫描、安全配置、安全基线以及安全补丁的管理
    • 混合云基础设施的统一管理
    • 通过开发的思路解决运维的问题

SaltStack是什么

Salt是什么

Salt,是一种批量的、自动化的基础设施管理工具,部署轻松,在几分钟内可运行起来。扩展性好,很容易管理上万台服务器,且速度够快,服务器之间秒级通讯。

salt底层采用动态的连接总线, 使其可以用于远程执行, 配置管理, 任务编配等等。

开发Salt的初衷是为了将远程执行领域中发现的最佳解决方案结合在一起,使其更好,更快,更具延展性。 Salt能够通过简单且易管理的接口快速处理大量信息,管理从数十个,到数百个、甚至数千个单独的服务器。

Salt的主要功能

  • 一个配置管理系统,能够将远程节点维护在一个预定义的配置状态(例如,确保安装特定的软件包并运行特定的服务,使用指定的配置参数值等);
  • 一个分布式远程执行系统,用于在远程节点上单独或通过任何自定义的目标节点选择标准来执行命令和查询数据;
  • 一个天然适合处理系统、网络和信息安全运维开发和自动化运维工作的基础通信服务组件。

Salt提供了以下几项核心能力

  • 并行地在远程系统中执行管理命令
  • 使用安全加密的协议
  • 使用尽可能最小和最快的网络载荷
  • 提供简单的编程接口

Salt建立在许多优秀的技术之上

  • 网络层使用ZeroMQ网络库构建,因此在Salt守护程序中包含了一个透明的AMQ代理。
  • Salt使用公钥与Master守护程序进行身份验证,然后使用速度更快的AES加密算法对负载通信进行加密。
  • Salt利用msgpack处理通信数据的序列化,体积更小、速度更快,实现了更加快速且轻便的网络通信。

关于使用许可

SaltStack Open VS. SaltStack Enterprise

SaltStack Open 开源项目

  • 可免费使用,是在Apache 2.0许可下开发的,可用于开源或私有的项目(可以商用,须带上license)。
  • 开源版本已经具备了Salt所有的重要功能,并覆盖到了大多数常见的设备与系统的管理。
  • Github项目地址 https://github.com/saltstack/salt

SaltStack Enterprise 商业软件

  • 付费使用,需要通过官网联系、询价、试用或购买;
  • 除Cli命令行工具外,提供配置管理用途的Web Dashboard;
  • 更广泛的设备类型与操作系统运行支持;
  • SaltStack Enterprise API (eAPI)
  • Security in SaltStack Enterprise - SecOps

Salt vs. 其它多种类似工具工具

  • Puppet更适于处理大型的、异构特征突出的服务器环境;
  • Chef更偏重于以开发的方式处理运维的工作或问题,相对适用于以开发为主的团队;
  • Ansible更适合做那些“一次性”远程命令执行工作,例如系统部署、应用发布、打补丁等;
  • Saltstack在可伸缩性、响应速度和部署架构上有出色表现,它相较于Puppet则更精简,比Chef学习成本更低,比Ansible更适合配置管理大规模、高并发的环境。

SaltStack专业资格认证的介绍

SaltStack Certified Administrator (SSCA)

  • 拥有实际的SaltStack软件使用经验;
  • 完成了 SaltStack Enterprise I ;
  • 通过 SSCA 考试。

SaltStack Certified Engineer (SSCE)

  • 拥有实际的SaltStack软件使用经验;
  • 完成了 SaltStack Enterprise I ($2195)、II ($2495);
  • 通过 SSCE 考试。

    注:每个培训课程需要持续5个半天或3个整天。

培训形式除现场授课外,也支持远程视步会议参加。

参加SaltStack Enterprise培训课程的学员,可以得到一次免费参加认证考试并获得相应证书的机会。

认证考试形式为,在一个小时内,完成从数百个考题中随机抽选出的80道题,允许查阅资料,但必须独立完成。

SaltStack适合什么样的企业或团队

当符合以下条件之一或同时满足多个条件时,建议优先选用SaltStack作为公司基础设施的自动化运维与配置管理软件使用:

  • 企业技术平台部署规模至少在100个主机节点以上时(可以包含任何物理机、虚机、云主机,甚至于容器);
  • 企业的产品服务类型是以建设、运营和运维自有的产品、技术系统和软硬件基础设施时;
  • 企业更加重视产品服务、系统网络以及安全配置的基准,强调标准化、一致性、规范性、可控性以及持续性时;
  • 技术团队希望可以集中配置管理生产或测试环境中大量的不同型号的网络设备时;
  • 技术团队希望可以基于一个相同的技术栈,统一处理系统配置、网络配置以及安全扫描与配置工作时;
  • 技术团队希望可以统一管理混合云环境时;
  • 技术团队希望基于Python技术栈建设自有的配置管理、运维管理服务平台时;

关于SaltStack的版本号与代码名称

Version Numbers - Salt 的软件版本号经历了三个发展阶段

  • 在早期的发展阶段,是使用典型的语义版本控制。 v0.17版本是该样式的最后一个版本。
  • 自2014年起,Salt使用基于日期的系统作为版本号。 版本号的格式为YYYY.MM.R。 创建发行版本时反映的年份(YYYY)和月份(MM)。 错误修正版本号(R)在该功能版本中以递增的形式出现。v2014.1.0是该样式命名的第一个版本,v2019.2则是这种风格最后一个版本。
  • 自2020年起,Salt使用基于主要功能的和基于补丁的系统来获取版本号。 版本号的格式为MAJOR.PATCH。例如v3000.3是撰写本文时Salt最新发布的一个版本,此时距v3000.2版本的发布仅过了2周。v3000.2版本是为应急修复CVE-2020-11651、CVE-2020-11652两个安全漏洞而紧急发布的版本,而v3000.3补丁版本的发布又是因为上一个版本因为急于封堵安全漏洞而发布得过于仓促,结果导致没处理好saltutil.sync_all函数的跨版本兼容性问题。

Code Names - Salt的代码名称

为了便于区分将来的版本和当前的版本,使用了代码名称。 使用了元素周期表来推导出下一个代号。 v2014.1.0是第一个为代码命名代号的版本,即Hydrogen,每个后续版本都将转到下一个原子的序号。

目前已经分配了的代码名称有:

  • Hydrogen: 2014.1.0
  • Helium: 2014.7.0
  • Lithium: 2015.5.0
  • Beryllium: 2015.8.0
  • Boron: 2016.3.0
  • Carbon: 2016.11.0
  • Nitrogen: 2017.7.0
  • Oxygen: 2018.3.0
  • Fluorine: 2019.2.0
  • Neon: 3000
  • Sodium: 3001
  • Magnesium: 3002
  • Aluminium: 3003

SaltStack在2020年最新技术发展趋势

更多的网络自动化配置与维护

网络自动化的方法实际上在v2016.11.0版本中就已引入。 网络自动化功能的支持是基于salt proxy minions实现的。

随着SDN技术的发展,以及各种超大规模网络基础设施的发展,云计算、容器集群、大数据平台等分布式技术系统对网络基础设施提出越来越多的且日益复杂、多变的使用需求,提供一种集中式的、统一的,可自动化配置管理网络设施、多品牌的网络设备、多变的网络配置的技术平台,就越发变得急切。

因此,SaltStack在近年来也在持续地将网络的自动化作为主要功能建设的一个重点,在这一领域也完成了很多有代表性的客户项目落地。

当前,Salt已经可以配置管理大多数常见的主流型号的企业网络设备,如交换机、防火墙等。

Salt在集成第三方的支持跨平台的网络自动化工具方面,所取得的成绩和效果会更加突出一些。

  • Napalm,https://napalm-automation.net/ ,https://napalm.readthedocs.io/en/latest/support/index.html#
  • Netmiko,https://github.com/ktbyers/netmiko,https://docs.saltstack.com/en/latest/ref/proxy/all/salt.proxy.netmiko_px.html

此外,Salt还面向一些特定厂商的网络设备提供了专用的自动化配置功能模块:

  • Arista,一家专做SDN网络设备的国际厂商
  • Cisco
  • Juniper

安全扫描、安全配置、安全基线以及安全补丁的管理

在SaltStack Enterprise版本中,信息安全管理功能已经连续两年成为Salt公司重点建设和推广的服务了,并为此专门开发了一个名为Security in SaltStack Enterprise - SecOps的salt模块。

从官网介绍的一些成功案例可以了解到,Salt SecOps模块主要是提供了统一的安全扫描、安全配置、安全基线维护以及打补丁的管理。这一功能是由Salt公司主导的,而不是由社区所发起,所以SecOps模块在Salt开源版本中无法使用。但是可以推断出来的是,以上这些信息安全管理或配置变更管理的功能,仍然是基于Salt的远程执行、配置管理、任务编排等基础功能模块进行的集成开发与定制。

混合云基础设施的统一管理

当前,越来越多的公司开始面临着同时需要运维管理混合云、多云的基础设施的挑战。既在使用IDC自建或托管的软硬件基础设施,又把一部分的产品或服务放到了云上,甚至是同时会使用几朵不同厂商的云。怎么样才能快捷、高效且安全的配置、管理混合云环境条件下的各种资源,是摆在很多公司面前的一个难题。

Salt Cloud是Salt面向混合云的基础设施的统一管理解决方案,这也是Salt近年来发展非常迅速的一个领域,而且社区的贡献也相当得活跃,在模块插件支持方面,几乎已经覆盖到了国内外常见的各种云。以国内有代表性的云平台为例,目前已经可以支持的就有阿里云、腾讯云、青云等,而且按照salt cloud插件驱动开发规范,可以按需定义和支持更多的云。

详情见以下链接:

  • 支持的云平台范围列表
  • 针对特定云平台的Salt-Cloud配置方法
  • 云平台功能支持对比

通过开发的思路解决运维的问题

由于生产环境越发的复杂,要管理好这样的环境,我们需要利用Salt这样的自动化工具处理系统配置、通信传输、驱动适配、事件消息等底层的工作。方便我们集中更多的精力,关注应用业务逻辑的优化管理。让Salt去适配兼容那些纷杂多样的设备、型号、系统,方便我们按相同的逻辑统一管理资源和配置。

因此,越来越多的公司,在通过运维开发建设自己适用的统一的资源、服务、配置管理平台,生产环境的复杂程度导致了很多内部工具必须由自己开发,因为很少有第3方工具可以适配这种复杂情况。运维工程师是自己工具的直接使用者,能深刻得理解要开发的工具的重点在哪里,也更容易获取直接的和高质量的用户使用反馈。

借助Salt的强大能力,规划和实施相应技术管理平台的开发建设,相当于是站在巨人的肩膀上。大量的基础管理功能都可以直接通过Salt来实现,我们只需要关注和实现好系统或应用层面的管理逻辑即可。

目前,Salt提供了两类API技术的实现,各有利弊,适用于不同的场景,选用适合自己的就好。

  • Python client API - SaltStack Python客户端程序API开发指南
  • netapi modules - SaltStack netapi模块
    Salt API使用参考资料:https://github.com/watermelonbig/SaltStack-Chinese-ManualBook/blob/master/19.APIs.md

SaltStack基础知识-SaltStack产品介绍相关推荐

  1. 2020.11.10丨BSA基础知识及产品介绍

    产品介绍 BSA产品介绍 1.1研究目的 基因定位 1.2基本概念 Bulked Segregant Analysis,分离群体分组分析法 定义: 在性状分离的遗传群体中 ,选择表型极端差异个体将其D ...

  2. 超详细图文详解,灾备通用基础知识以及华为的灾备产品介绍

    前言 本文主要介绍容灾相关基础知识,包括容灾的定义.作用,并描述容灾的衡量标准,以及实现容灾需要用到的相关产品.主要介绍华为灾备产品BCManager,并详细讲解BCManager实现灾备时的相关知识 ...

  3. 新手入门必懂:关于西瓜视频广告,你不可不知的基础知识

    越来越多的普通人通过西瓜视频改变了生活,为普通人提供了更大的人生舞台,例如"李永乐老师"科普视频10个月播放量超6400万,"巧妇9妹"边看边买年收入超500万 ...

  4. 电压互感器的基础知识原理及注意事项-安科瑞薛炯毅

    电压互感器是用来变换线路上的电压,下面本文将为大家详细的介绍有关电压互感器的基础知识,以便大家看完此篇文章能够对电压互感器有一个清晰的认识. 工作原理 电压互感器的代号为P.T.,它的工作原理与电力变 ...

  5. 嵌入式Linux的OTA更新,基础知识和实现

    嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...

  6. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  7. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  8. 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...

    <计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...

  9. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

最新文章

  1. 去除ios input部分默认样式
  2. mysql 用户管理和权限设置
  3. 机器学习:怎样才能做到从入门到不放弃?
  4. 测绘工程所用软件评析
  5. 卧薪尝胆三千越甲可吞吴
  6. jquery开发的”天才笨笨碰“游戏
  7. Linux--信号阻塞与屏蔽
  8. xy转utm坐标(个人推算)
  9. SQL Server 2014如何导出数据库
  10. speex java_JAVA版-微信高清语音.speex转.wav格式
  11. 周鸿祎:35告老的大富豪
  12. CVE-2014-6271 “破壳“ 漏洞
  13. windows下用Mingw64编译qtw3d
  14. 体验godaddy域名转入,添加A记录,及使用dnspod的NS
  15. 改文拽少爷的校花女友33
  16. GO 语言常用工具类-通用方法集合
  17. 了解IP地址及如何设置IP地址
  18. jQuery中的eq方法
  19. 对“卸磨杀驴”的理解
  20. linux命令-rm命令

热门文章

  1. AP9193 升压恒流驱动芯片 24V 36V1A三线三色 LED大功率方案
  2. echart4数据管理组件dataset学习
  3. 区块链基础设施概览:第一性原理框架
  4. web3j官网中文版
  5. NLP自然语言处理系列-基于知识图谱的电影推荐实战
  6. 税前2万4,到手1万4?年终奖扣税方式1月1日起施行
  7. 怎么把dns服务器改成自动,如何设置电脑上的DNS服务器自动获取
  8. Charles安装使用
  9. 苹果CMS采集资源站
  10. android请求502web请求正常,android与网页沟通,得到502错误