一、saltstack介绍
saltstack是比较火的自动化软件,主要为c/s架构。master端接收到minion端的key值并认证之后,就可以给minion端下达命令,执行之后并返回结果。
二、通信模式
salt底层网络架构采用ZeroMQ进行实现(2014.1及之前版本, 从2014.7起, Salt新增RAET)。master发送消息是通过ZMQ的PUB system,也就是4505端口,接收消息通过4506对应的是REP system。所以当你命令下达之后,即使断了,也不会影响minion端的执行。
三、安装
master端:
yum -y install epel-release
yum -y insstall salt-master
minion端:
yum -y install epel-release
yum -y insstall salt-minion
在minion端的配置文件设置了id与master后,启动minion,master通过salt-key命令可以看到未接受的key并通过-a接收key值。
四、使用习惯
配置文件在/etc/salt目录下,通常对minion端下达命令的模板需要使用.sls结尾,而且默认放在/srv/salt目录下。先贴一下目录结构:
这里说一下,salt目录下的package、system则为大目录,比如软件安装目录、系统设置目录。
这里必须要有top.sls文件,此为入口文件:
接下来,每个目录下都要有init.sls文件:
这里先来了安装httpd的实例:
接下来就是执行命令了,在master端:
salt -L 'salt-minion' state.sls package.http
稍等就会有返回结果:
通过对目录的使用习惯,会有效的管理sls模板。