You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建Salt状态让Minion启动或重连时自动执行?

针对Windows Salt Minion自动应用状态的解决方案

一、Minion启动/重连时自动执行指定状态

1. 全局Minion配置

在Windows Minion的配置文件(通常为C:\salt\conf\minion)中添加或修改以下配置:

  • 自动执行全量高状态:
    startup_states: highstate
    
    此配置会让Minion每次启动或重新连接Master时,自动执行state.highstate。
  • 执行指定状态文件:
    若仅需运行特定状态(比如名为windows_base的状态),可改为:
    startup_states: sls
    startup_sls: windows_base
    
    这里的windows_base对应Master上salt://windows_base/init.sls或salt://windows_base.sls的状态文件。

2. 特定组Minion配置

通过Master的pillar给目标分组的Minion分配专属启动状态:

  1. 在Master的/srv/pillar目录下创建分组配置文件,比如groups/windows_physical.sls:
    startup_states: sls
    startup_sls: windows_physical_config
    
  2. 在top.sls中关联目标Minion组:
    base:
      'role:windows_physical':
        - groups.windows_physical
    

仅匹配role:windows_physical的Minion会在启动/重连时自动执行指定状态。

二、无需手动触发的Salt任务配置

1. Minion端定时任务(周期性自动执行)

在Windows Minion配置文件中添加schedule参数,实现周期性自动执行状态:

schedule:
  daily_maintenance:
    function: state.apply
    args:
      - windows_daily_check
    minutes: 1440  # 每天执行一次
    return_job: True

Minion离线期间错过的任务,会在重连后自动补执行。

2. Master端分批触发(兼容离线主机)

使用batch模式触发状态,避免离线主机阻塞任务:

salt -G 'role:windows_physical' --batch 10% state.apply windows_base_config --retcode-passthrough

离线Minion上线后,会在重连时自动同步Master的状态配置。

三、Windows平台注意事项

  • 修改Minion配置后,需在services.msc中重启Salt Minion服务使配置生效。
  • 确保Minion运行账户拥有执行状态操作的足够权限(如修改系统设置、安装软件等)。

内容的提问来源于stack exchange,提问作者v.doro2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 22:02:37