一、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模板。