一、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目录下。先贴一下目录结构:

saltstack介绍与使用习惯_saltstack介绍与使用习惯

这里说一下,salt目录下的package、system则为大目录,比如软件安装目录、系统设置目录。

这里必须要有top.sls文件,此为入口文件:

saltstack介绍与使用习惯_saltstack介绍与使用习惯_02

接下来,每个目录下都要有init.sls文件:

saltstack介绍与使用习惯_saltstack介绍与使用习惯_03

这里先来了安装httpd的实例:

saltstack介绍与使用习惯_saltstack介绍与使用习惯_04

接下来就是执行命令了,在master端:

salt -L 'salt-minion' state.sls package.http

稍等就会有返回结果:

saltstack介绍与使用习惯_saltstack介绍与使用习惯_05

saltstack介绍与使用习惯_saltstack介绍与使用习惯_06

通过对目录的使用习惯,会有效的管理sls模板。