saltstack的高级状态

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端口来接受的.

原文地址:https://www.cnblogs.com/ahliucong/p/10133626.html