最近在学习saltstack的reactor模块,由于在业务上没有有关reactor的需求。这里只是举个例子,方便将来参考使用。
原理:reactor分为两部分:tag和sls。reactor去匹配这个tag(event的tag),匹配到则执行对应的sls文件。这个需要结合event。其实这个类似于zabbix的triggers。
在配置文件目录创建master.d/reactor.conf
reactor:
- 'salt/job/*/ret/*':
- /srv/reactor/start.sls
重启master
创建/srv/reactor/start.sls
{% if data['id'] == '192.168.110.133' %}
cmd_run:
cmd.cmd.run:(这里写的是salt可执行模块,modules里的模块)
- tgt: '192.168.110.132'
- arg:
- /bin/touch /tmp/demo
{% endif %}
触发事件:
salt '192.168.110.133' test.ping
没意外的话,会在192.168.110.132上创建/tmp/demo文件
关于event的信息请参考event文章。
参考:
http://docs.saltstack.com/en/latest/topics/reactor/
http://vbyron.com/blog/infrastructure-management-saltstack-part-3-reactor-events/
原文链接:https://www.f2er.com/react/308120.html