####salt配置
salt-master:
- ip:192.168.10.91
salt-minion:
- id:ops1 ip:192.168.10.91
- id:192.168.10.92 ip:192.168.10.92
- id:192.168.10.93 ip:192.168.10.93
- id:192.168.10.94 ip:192.168.10.94
- id:192.168.10.95 ip:192.168.10.95
1.master中添加reactor配置
reactor:
- 'salt/minion/*/start': salt/minion/*/start event时触发
- /srv/reactor/init.sls 运行这个sls
2.编辑/srv/reactor/init.sls文件
run_state:
local.state.sls:
- tgt: {{ data['id'] }}
- arg:
- zabbix-agent-init #运行这个sls
3.重启master,略
4.accept一个minion的key或者重启minion后查看event,在master上运行salt-run state.event pretty=True 可以看到当salt/minion/192.168.10.94/start 的event出现后,紧接着运行了个zabbix-agent-init的job,待minion运行完后返回了zabbix-agent-init的运行结果
salt/minion/192.168.10.94/start { #发现如下event
"_stamp": "2016-03-31T14:25:06.000282",
"cmd": "_minion_event",
"data": "Minion 192.168.10.94 started at Thu Mar 31 22:25:05 2016",
"id": "192.168.10.94",
"pretag": null,
"tag": "salt/minion/192.168.10.94/start"
}
salt/event/new_client {
"_stamp": "2016-03-31T14:25:06.120657"
}
20160331222506137435 {
"_stamp": "2016-03-31T14:25:06.137938",
"minions": [
"192.168.10.94"
]
}
salt/job/20160331222506137435/new { #执行zabbix-agent-init.sls的job
"_stamp": "2016-03-31T14:25:06.138985",
"arg": [
"zabbix-agent-init"
],
"fun": "state.sls",
"jid": "20160331222506137435",
"minions": [
"192.168.10.94"
],
"tgt": "192.168.10.94",
"tgt_type": "glob",
"user": "root"
}
......
salt/job/20160331222506137435/ret/192.168.10.94 {
"_stamp": "2016-03-31T14:25:29.774154",
"cmd": "_return",
"fun": "state.sls",
"fun_args": [
"zabbix-agent-init"
],
"id": "192.168.10.94",
"jid": "20160331222506137435",
"out": "highstate",
"retcode": 0,
"return": {
......
},
"success": true 执行成功
}