SaltStack 3008 介绍与选型指南

SaltStack 3008 介绍与选型指南:基于官方资料溯源的事件驱动自动化架构、Master/Minion 模型、State 与 Grain 核心概念、快速上手,说明 Broadcom 治理与包仓库迁移现状,并对比 Ansible、Puppet、Chef 给出选型建议(查询日期 2026-10-19)。

SaltStackSaltStackDevOps配置管理2026/10/19

SaltStack 3008 介绍与选型指南

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(GitHub 官方仓库 saltstack/salt 发行页与 README、saltproject.io 官方站点与公告博客、docs.saltproject.io 官方文档),本文不做本地安装与运行实测。
  • 版本结论:本次介绍的版本为 Salt 3008 系列(Salt 项目当前已不再使用「SaltStack」作为产品名,官方称 Salt Project / Salt),最新补丁 v3008.3(2026-09-30 发布);3008.0 GA 于 2026-05-27 发布。

1.2 版本依据

项目实查结果(2026-10-19)来源
最新补丁v3008.3(2026-09-30)github.com/saltstack/salt/releases
多线并行维护v3007.15、v3006.28 均于 2026-09-30 同日发布github.com/saltstack/salt/releases
3008 系列时间线3008.0(2026-05-27)、3008.1(2026-06-11)、3008.2(2026-07-01)、3008.3(2026-09-30)github.com/saltstack/salt/releases.atom
代码仓库saltstack/saltgithub.com/saltstack/salt
开源许可Apache License 2.0仓库 README 徽章与 LICENSE
官方包仓库packages.broadcom.com(RPM/DEB/GENERIC)saltstack/salt README

1.3 官方来源清单

来源地址
官方站点https://saltproject.io/
官方文档https://docs.saltproject.io/
安装指南https://docs.saltproject.io/salt/install-guide/en/latest/index.html
源码仓库https://github.com/saltstack/salt
发行页https://github.com/saltstack/salt/releases
安全公告https://saltproject.io/security-announcements/

二、软件概述

本文介绍的是 Salt 3008(开源版,最新补丁 v3008.3,2026-09-30 发布)。

Salt(历史上常称 SaltStack)是基于 Python 的事件驱动自动化工具与框架,用于部署、配置和管理大规模 IT 系统(官方 README 定位)。其典型用途包括配置管理(操作系统部署与配置、软件安装、服务管理、防配置漂移)、远程执行、编排与自愈系统等。

治理现状是了解 Salt 必须说清的部分:SaltStack 公司 2020 年被 VMware 收购,VMware 又于 2023 年被 Broadcom 收购;官方 README 明确「Salt Project 仍是开源生态,Broadcom 作为项目的官方赞助方与管理方确保代码完整性与质量,许多核心贡献者即 Broadcom 员工」,Salt 也是 VMware Salt(前身 Aria Automation Config)产品的底层引擎。社区侧变化包括:2024-09 官方宣布不再为 Arch Linux、Amazon Linux、openSUSE、macOS 构建官方包;官方包仓库从 repo.saltproject.io 迁移到 packages.broadcom.com;2025-01 官方公告 POP 与 Idem 项目进入归档。SUSE/openSUSE 发行版内的 salt 包则由 SUSE 侧随发行版自行维护(SUSE 安全公告与 openSUSE Tumbleweed 变更日志均有 salt 包更新记录,2026-10-19 实查)。

Salt 仓库在 GitHub 上拥有 15719 stars(2026-10-19 实查,saltstack/salt 仓库),仍以 Apache-2.0 许可开源。

三、核心架构

3.1 Master / Minion 模型

  • Master:中心控制节点,保存状态定义与证书,向 Minion 下发指令与状态。
  • Minion:被管理节点,接收并执行任务,返回结果;Minion 也可脱离 Master 以 masterless(salt-call 本地)模式运行。
  • 消息总线:Master 与 Minion 之间通过持久消息通道(ZeroMQ 默认,另可选 TCP/SSH)通信,构成事件驱动的命令与返回通道(官方文档)。

3.2 核心概念

概念说明
Remote Execution以目标选择器(Glob/GRAIN/Pillar 等)向成组节点下发命令
State(SLS)声明式状态文件,描述系统期望状态(YAML + Jinja)
GrainsMinion 的静态事实数据(系统、内核、IP 等)
Pillar面向节点的敏感/业务数据分发
Formulas可复用的状态模块集合
Reactor基于事件总线的事件响应自动化

3.3 运行形态

  • 主从模式:常规 Master/Minion 集群管理。
  • Salt SSH:无代理(agentless)模式,通过 SSH 批量执行。
  • masterless:Minion 本地自管理,适合不可变基础设施与容器镜像构建。
  • API/编排:Salt API 对外暴露 REST 接口,Orchestrate 完成跨节点编排。

四、功能特性

4.1 声明式配置管理

State 模块以 YAML 编写期望状态(pkg.installed、service.running、file.managed 等),按需顺序(requisite)声明依赖;配合 Pillar 实现环境差异参数化(官方用户指南)。

4.2 远程执行与模块体系

Salt 内置执行模块(pkg、file、service、network、cmd 等)覆盖常见运维操作,salt <target> <module>.<func> 即时执行;模块可用 Python 扩展,社区模块生态覆盖云、数据库、网络设备等(官方模块文档)。

4.3 3008 系列状态

从发行页实查看,Salt 当前维持 3006/3007/3008 三条版本线并行维护,且三条线在 2026-09-30 同日各发布一个补丁(v3006.28/v3007.15/v3008.3),补丁节奏稳健;3008 系列 2026 年内已发布 3008.0→3008.3(官方 releases,2026-10-19 实查)。

4.4 商业版与治理注意

Broadcom 侧的商业产品为 VMware Salt(前身 vRealize Automation SaltStack Config / Aria Automation Config)。开源团队选型时需注意:官方包仓库已迁移至 packages.broadcom.com,部分发行版(openSUSE、Arch、Amazon Linux、macOS)不再有官方上游包,需改用发行版包或 PyPI 安装(官方博客与 README)。

五、快速上手

以下流程转述自官方安装指南与官方文档(https://docs.saltproject.io/salt/install-guide/en/latest/index.html ),本文不做本地实测。

5.1 获取

官方安装指南提供各发行版安装路径:Linux 优先使用 packages.broadcom.com 上的官方 RPM/DEB 仓库,或使用 Salt Bootstrap 脚本;Windows/macOS 走 GENERIC 包。完整指引见官方安装指南。

5.2 启动 Master 与 Minion

官方流程为:在控制节点安装并启动 salt-master 服务,在受管节点安装并启动 salt-minion,Minion 配置文件中 master: 指向控制节点地址后重启服务。

5.3 密钥接受与连通验证

按官方文档,Master 端使用 salt-key -L 查看待接受密钥,salt-key -a '<minion-id>' 接受;随后以 salt '*' test.ping 验证全部 Minion 连通,salt '*' grains.items 查看 Minion 事实数据。状态应用使用 salt '*' state.apply <状态名>。完整模块与状态语法见官方用户指南:https://docs.saltproject.io/salt/user-guide/en/latest/ 。

本站已交付实测向的运维内容,命令细节可参考《SaltStack 常用命令与工具详解》(https://www.quzuo.net/document/X82QmwIaDmxp )。

六、适用场景与限制

6.1 适用场景

  • 大规模服务器群组的配置管理与配置漂移防护(事件驱动架构在大批量节点下延迟低)。
  • 远程执行与批量运维操作(打补丁、重启服务、收集状态)。
  • 需要事件响应(Reactor)与自愈能力的自动化体系。
  • 混合云/网络设备场景(Salt Proxy Minion 支持网络设备等代理管理)。

6.2 限制与注意事项

  • 治理集中:项目由 Broadcom 赞助与管理,社区对上游路线的影响力依赖 Broadcom 投入;周边项目(POP、Idem)已归档,选型需关注长期社区健康度。
  • 包分发变化:官方包仓库已迁 packages.broadcom.com,openSUSE/macOS 等平台无官方上游包,升级通道需提前规划。
  • 学习曲线:SLS/Jinja/Pillar 概念体系较重,Python 技术栈背景的团队更易上手。
  • Master 单点:常规架构需自行规划 Master 高可用(多 Master、syndic 分层等官方拓扑)。

七、同类选型对比

7.1 候选概览

工具定位开源许可
Salt 3008事件驱动的远程执行与配置管理Apache-2.0
Ansible 14无代理自动化(SSH)GPL-3.0
Puppet 8声明式配置管理(C/S 架构)Apache-2.0
Chef Infra Client 19DSL 驱动的配置管理Apache-2.0(源码仓库)

7.2 量化对比(2026-10-19 实查)

维度Salt 3008Ansible 14Puppet 8Chef Infra 19
最新版本v3008.3(2026-09-30)社区包 14.5.0 / ansible-core v2.21.5仓库最新 tag 8.10.0(2024-10-22)v19.4.46(2026-10-09 tag)
开源许可Apache-2.0GPL-3.0Apache-2.0Apache-2.0(发行版另有 Chef EULA,见本站 Chef 专栏)
GitHub stars15719(saltstack/salt)71015(ansible/ansible)7967(puppetlabs/puppet)8258(chef/chef)
最近发版节奏三条版本线同日补丁,节奏稳健minor 约 2-3 周一版(2.21.5 为 core 最新 release)GitHub tag 更新明显放缓(8.10.0 后无新 tag)近一周连发 5 个补丁 tag,节奏极快
架构Master/Minion(消息总线,含 Salt SSH 无代理)无代理(SSH,控制机批量执行)Agent/Server(C/S,常驻 agent)Agent/Server(Chef Infra Server + Client)
配置语言YAML(SLS)+ JinjaYAML(Playbook)+ Jinja2Puppet DSL(Ruby 系)Ruby DSL(Recipe)
治理主体Broadcom(官方赞助/管理)Red Hat / 社区PerforceProgress

(版本与日期:Salt 见 github.com/saltstack/salt/releases;Ansible 见 PyPI ansible 14.5.0 与 github.com/ansible/ansible/releases/tag/v2.21.5;Puppet 见 github.com/puppetlabs/puppet/tags;Chef 见 github.com/chef/chef/tags。stars 为各仓库 2026-10-19 实查。)

7.3 选型建议

  • 已有 Python 技术栈、看重远程执行速度与事件驱动能力:Salt 的消息总线与 ZeroMQ 架构在大规模节点下命令下发快,Reactor/Orchestrate 的事件编排是差异化能力;但需接受 Broadcom 治理与包分发变化。
  • 追求最广社区、最低上手门槛、无代理架构:Ansible 仍是默认答案,社区规模(71015 stars)与生态最厚,参考本站《Ansible 14.5 介绍与选型指南》(https://www.quzuo.net/document/GRfPckb7zqh7 )。
  • 强声明式、长期稳定态管理、有 Puppet DSL 团队资产:可继续 Puppet,但其 GitHub 仓库 2024-10 后无新 tag,开源线活跃度需重点评估(参考本站 Puppet 专栏命令与运维实测文档)。
  • 已有 Chef/Habitat 生态或 Ruby 团队:Chef Infra Client 仍在高频迭代(19.4.46),但注意发行版 EULA 与 Chef 360 商业平台路线,参考本站《Chef Infra Client 19.4.46 介绍与选型指南》(https://www.quzuo.net/document/DW3gNgnEXBG1 )。
  • 综合看:新项目若无存量包袱,Ansible/Salt 二选一为主流路径——要「轻 agent、生态大」选 Ansible,要「推模式 + 事件驱动 + 大规模低延迟」选 Salt。

八、参考链接