SaltStack:批量调度 highstate

SaltStack:批量调度 highstate

我想安排highstate每晚运行但不并行运行。有没有办法batch向调度系统添加选项?

例子:

schedule:
  highstate:
    enabled: True
    function: state.highstate
    maxrunning: 1
    when: 3:00am
    kwargs:
      batch: 1

理想情况下,我还想随机化运行时间。我想我可以安排在一小时时间范围内每两小时运行一次,这样它就只运行一次:

schedule:
  highstate:
    enabled: True
    function: state.highstate
    maxrunning: 1
    range:
      start: 3:00am
      end: 4:00am
    hours: 2
    kwargs:
      batch: 1

答案1

当从主机启动高级状态时,您可以使用称为批处理模式的功能。

--batch-size标志允许您指定要并行运行的 minion 数量。您可以使用以下命令:

salt --batch-size 1 '*' state.highstate

关于运行的时间,您可以使用splay如下参数:

splay:
  start: 10
  end: 15

这将显示 10 到 15 秒之间的时间

如果您想将其与调度系统一起使用:

编辑/etc/anacrontab并添加RANDOM DELAY参数START_HOURS_RANGE

# The maximal random delay added to the base delay of the jobs
RANDOM_DELAY=60
# interval, when scheduled jobs can be run, in hours
START_HOURS_RANGE=3-4

1 10 update.daily /usr/bin/salt --batch-size 1 '*' state.highstate

相关内容