1.如果我有很多sls文件,并不能一个文件一个文件执行的.这时就需要高级状态了.
这时候就需要top.sls入口文件了.
你可以打开vim /etc/salt/master文件查看高级状态的配置,如下图.
2.这个top.sls文件需要建立在file_root的base环境下面.
测试机是放在/src/salt/目录下.
也就是vim /src/salt/top.sls 如下.
base: #这个是执行环境 "linux-node1.example.com": #执行的minion id - web.apache # 具体执行的状态文件 "linux-node2.example.com": - web.apache
编辑好后,执行下面的命令.
salt "*" state.highstate
关于命令salt "*" state.highstate的解释 "*"代表通知谁来执行.top.sls里面的配置表示具体谁执行什么.
2.关于saltstack的底层问题.
saltstack底层是基于zeromq来实现的.
1)salt用了zeromq的两种模式,一种是发布和订阅:所有人都监听4505,可以通过lsof -ni:4505来查看.就会发现所有minion都会监听4505端口,有消息,所有minion都会受到.
2)zeromq还有一种是请求与相应. saltstack master会监听4506端口,如果minion收到消息后返回信息,是通过4506端口来接受的.