reactor,这个东西感觉像是一个事件触发器,可以捕捉minion加入master这一动作(当然能捕捉的肯定不止这个动作)然后执行一些操作,我的目的就是利用reactor捕捉Minion加入master时自动执行一次state.highstate同步配置。

参考资料:http://docs.saltstack.cn/topics/reactor/index.html


schedule,这个东西是让minion定时执行命令,我这里要利用这东西定时执行state.highstate

参考资料:http://docs.saltstack.com/en/latest/topics/jobs/schedule.html


一、配置reactor:

在Master端的配置文件/etc/salt/master 中加入(重启master):

saltstack学习六:schedule与reactor应用_schedule

捕捉验证动作,执行auth-complete.sls:

/srv/reactor/auth-complete.sls:

saltstack学习六:schedule与reactor应用_schedule_02


二、配置schedule:

配置schedule可以在minion端的配置文件中添加,也可以在master端用pillar添加,我是采用后者

之前说过pillar的默认目录在/srv/pillar/,整个目录文件就两份OK了:

saltstack学习六:schedule与reactor应用_salt_03

一份top.sls总控制入口,一份是执行文件

top.sls

saltstack学习六:schedule与reactor应用_schedule_04

autohighstate.sls

saltstack学习六:schedule与reactor应用_schedule_05

我这里配置了每天自动执行一次state.highstate操作,有点像crontab


这两个模块我只初步看了些皮毛,还有待进一步学习。