我想安排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