导读:本期聚焦于半夏创作的《如何在 Windows Server 上安装和配置 SaltStack Minion?》,敬请观看详情。SaltStack 是一款流行的自动化运维工具,Windows Server 环境同样可以通过部署 Minion 实现集中管理与批量执行。本文详细讲解在 Windows Server 上安装 SaltStack Minion 的完整流程,包括安装包获取、无人值守安装命令、minion 配置文件中 master 地址与 minion id 的设置方法、服务启动与验证步骤,以及常见连接失败问题的排查思路。通过 Salt Master 远程执行命令验证主从通信是否正常,帮助运维人员快速搭建跨平台自动化管理体系,提升 Windows 服务器的批量配置与补丁管理效率。

SaltStack 大多数时候被用在 Linux 集群的管理上,但它对 Windows 的支持同样成熟。要在 Windows Server 上纳入 Salt 体系,核心工作就是部署 Minion 端并完成与 Master 的对接。整个流程并不复杂,主要分为安装软件包、修改配置文件、启动服务、验证通信四个步骤,下面逐一展开。

如何在 Windows Server 上安装和配置 SaltStack Minion?

一、获取安装包并完成安装

Windows 版本的 Salt Minion 由官方提供独立的 MSI 安装包,可以在 SaltStack 官方仓库的 windows 目录下找到,文件名通常形如 Salt-Minion-3005-Py3-AMD64-Setup.exe。下载时注意选择与系统架构匹配的版本,64 位系统选择 AMD64,32 位老系统选择 x86。

安装方式有两种:图形界面双击安装,或者用命令行做无人值守部署。在批量场景下推荐命令行方式,直接在 PowerShell 中执行:

# 无人值守安装,指定 Master 地址和 Minion ID
Salt-Minion-3005-Py3-AMD64-Setup.exe /S /master=192.168.0.10 /minion-id=win-web-01

其中 /S 表示静默安装,/master 指定 Salt Master 的地址,/minion-id 指定该 Minion 的唯一标识。如果不在安装时指定,后面也可以通过修改配置文件来设置。安装完成后,程序默认会落在 C:\Program Files\Salt\Salt-Minion 目录,同时系统服务列表中会出现 Salt Minion 服务。

二、修改 minion 配置文件

如果不使用安装参数,或者后续需要调整配置,就要编辑配置文件。Windows 下的默认路径是 C:\ProgramData\Salt\Conf\minion(注意 ProgramData 是隐藏目录,需要在资源管理器中开启显示隐藏文件,或直接在地址栏输入路径访问)。

该文件是 YAML 格式,需要注意缩进必须用空格而不能用 Tab。最核心的两项配置如下:

# 指定 Salt Master 的地址,可以是 IP 或主机名
master: 192.168.0.10

# 指定本 Minion 的 ID,不设置则默认使用主机名
id: win-web-01

如果 Master 使用了非默认端口,或启用了多 Master,可以进一步配置 master 参数为列表形式。另外,如果 Master 端口有变更,还需调整 publish_port 和 retina_port 相关项。对于域环境中的服务器,建议将 id 设置为 FQDN 全名,便于在 Salt 中按域名定位主机。

修改配置后记得保存为 UTF-8 无 BOM 格式,避免中文注释导致的解析失败。这也是 Windows 下常见的坑之一。

三、启动服务并接受密钥

配置完成后,以管理员身份打开 PowerShell,启动服务并设置为自动运行:

# 启动 Salt Minion 服务
Start-Service -Name "salt-minion"

# 设置为开机自启
Set-Service -Name "salt-minion" -StartupType Automatic

Minion 启动后会主动连接 Master 并发送自己的公钥,此时 Master 端还无法识别它,需要在 Master 上执行 salt-key 查看待接受的主机:

# 查看 Minion 密钥请求
salt-key -L

# 接受指定 Minion
salt-key -a win-web-01 -y

# 或一次性接受全部
salt-key -A -y

密钥接受后,主从双方的信任关系就建立起来了。可以用 salt-key -L 再次确认,win-web-01 应出现在 Accepted Keys 列表中。

四、验证通信与常见问题排查

回到 Master 端执行一条简单的测试命令,验证链路是否通畅:

# 远程执行测试命令
salt 'win-web-01' test.ping

# 查看 Windows Minion 的系统信息
salt 'win-web-01' grains.item os osversion

如果返回 True,说明通信正常。Windows 上的 grains 会显示 os 为 Windows,osversion 为具体版本号,例如 2019Server 或 2022Server。

如果 test.ping 没有响应,可以从几个方向排查:第一,确认 Windows 防火墙没有拦截出站连接,Salt Minion 默认主动连接 Master 的 4505 和 4506 端口,属于出站流量,一般默认放行,但有些安全策略严格的机器需要检查;第二,确认 Master 端的密钥是否已接受,密钥未接受的 Minion 不会响应任何命令;第三,检查配置文件中 master 地址是否正确,以及 YAML 缩进是否合规。

查看 Minion 日志是最直接的定位手段,日志文件位于 C:\ProgramData\Salt\Logs\minion.log。连接失败、配置解析错误、密钥不匹配等都会在日志中留下明确记录。遇到服务启动失败的情况,也可以先手动运行 C:\Program Files\Salt\Salt-Minion\salt-minion.exe 观察前台输出的报错信息,比看服务状态码更直观。

五、Windows 下的常用管理操作

Minion 正常接入后,就可以用 Salt 管理 Windows 服务器了。Windows 下有专门的模块,例如通过 pkg 模块安装软件、service 模块管理服务、win_update 模块打补丁:

# 安装 7zip
salt 'win-web-01' pkg.install 7zip

# 管理 Windows 服务
salt 'win-web-01' service.status wuauserv
salt 'win-web-01' service.restart wuauserv

# 安装系统补丁(Windows Update)
salt 'win-web-01' win_wua.list

日常批量操作中,还可以结合 grains 对所有 Windows 主机做分组匹配,例如 salt -G 'os:Windows' cmd.run 'systeminfo',一次性获取全部 Windows 服务器的系统信息。配合 State 文件和 SLS 模块,就能把 Windows 服务器的初始化配置、软件安装、补丁更新全部纳入自动化流水线,这也是在混合平台环境中引入 Salt 的最大价值所在。

SaltStack MinionWindows Server自动化运维修改时间:2026-09-13 15:36:44

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/20260913/56092.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。