Schedule
在实际运维过程中经常碰到这样的情况,比如在minion上安装了nginx,但是不小心将nginx卸载了或者将nginx服务停掉了。这时不容易发现问题
或者需要手动来进行修复。那么就需要使用salt stack的schedule功能了,它可以定期的检查minion状态是否是我们想要的,如果不是则自动进行
恢复。
Pillar Scheduler
Salt stack提供了多种定义Schedule的方式,这里我们使用在master定义Pillar Schedule的方式。
创建schedule.sls
在/srv/salt/pillar/文件夹中创建schedule.sls文件:
schedule:
job1:
function: state.highstate
seconds: 10
上述定义的schedule名字为job1,会在所有的minion上每10秒运行一次方法state.highstate。
在tops.sls文件中饮用schedule
定义完schedule.sls后在pillar的top.sls文件中引用:
base:
'*'
- schedule
当重新定义了pillar后需要运行salt ‘*’ saltutil.refresh_pillar命令来刷新Pillar,这样minion才能获取到最新的Pillar数据。
验证schedule
在minion上尝试停止运行nginx,然后等10秒钟看nginx是否重新启动。