1、saltStack 服務架構介紹
SaltStack 是一種基於C/S架構的服務模式,在SaltStack架構中服務器端叫作Master,客戶端叫作Minion,傳統C/S架構為:客戶端發送請求給服務器端,服務器端接收到請求並且處理完成后再返回給客戶端。在SaltStack架構中不僅有傳統的C/S架構服務模式,而且有消息隊列中的發布與訂閱(pub/sub)服務模式。這使得SaltStack應用場景更加豐富。目前在實際環境中一般使用SaltStack的C/S架構進行配置管理。
在Master和Minion端都是以守護進程的模式運行,一直監聽配置文件里面定義的ret_port(接受minion請求,默認端口號:4506)和publish_port(發布消息,默認端口號:4505)的端口。當Minion運行時會自動連接到配置文件里面定義的Master地址ret_port端口進行連接認證。默認客戶端請求id是socket.getfqdn()取到的值,也可以在Minion啟動之前修改Minion的id值。
2、網絡拓撲圖

3、系統環境
#### Master 端 ####
[root@SaltStack-Master ~]# hostname SaltStack-Master
[root@salt-master ~]# cat /etc/redhat-release CentOS release 6.6 (Final)
[root@salt-master ~]# uname -a Linux salt-master 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@salt-master ~]# python --version
python 2.6.6
#### Minion 端 ####
# minion-01
[root@SaltStack-Minion-node01 ~]# hostname
SaltStack-Minion-node01
[root@salt-minion-01 ~]# cat /etc/redhat-release CentOS release 6.6 (Final)
[root@salt-minion-01 ~]# uname -a Linux salt-minion-01 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@salt-minion-01 ~]# python --version
python 2.6.6
# minion-02 [root@SaltStack-Minion-node02 ~]# hostname SaltStack-Minion-node02
[root@salt-minion-02 ~]# cat /etc/redhat-release CentOS release 6.6 (Final)
[root@salt-minion-02 ~]# uname -a Linux salt-minion-02 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@salt-minion-02 ~]# python --version
python 2.6.6
4、安裝部署
4.1 安裝 epel yum源
在 Master 端和 Minion 端都需要安裝 epel 的 yum源
# 32位操作系統 [root@SaltStack-Master ~]# rpm -ivh http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm # 64位操作系統 [root@SaltStack-Master ~]# rpm -ivh http://mirrors.zju.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
4.2 安裝 Master 端
[root@SaltStack-Master ~]# yum -y install salt-master [root@SaltStack-Master ~]# /etc/init.d/salt-master start Starting salt-master daemon: [確定] [root@SaltStack-Master ~]# chkconfig salt-master on # SaltStack Master 端版本號 [root@SaltStack-Master ~]# salt-master --version salt-master 2015.5.10 (Lithium)
4.3 安裝 minion 端
# Minon-node01 [root@SaltStack-Minion-node01 ~]# yum -y install salt-minion [root@SaltStack-Minion-node01 ~]# sed -i 's/#master: salt/master: 192.168.10.10/g' /etc/salt/minion # 指定 master 的ip地址 [root@SaltStack-Minion-node01 ~]# /etc/init.d/salt-minion start [root@SaltStack-Minion-node01 ~]# chkconfig salt-minion on # SaltStack Minion 端版本號 [root@SaltStack-Minion-node01 ~]# salt-minion --version salt-minion 2015.5.10 (Lithium) # Minon-node02 [root@SaltStack-Minion-node02 ~]# yum -y install salt-minion [root@SaltStack-Minion-node02 ~]# sed -i 's/#master: salt/master: 192.168.10.10/g' /etc/salt/minion [root@SaltStack-Minion-node02 ~]# /etc/init.d/salt-minion start [root@SaltStack-Minion-node02 ~]# chkconfig salt-minion on # SaltStack Minion 端版本號 [root@SaltStack-Minion-node02 ~]# salt-minion --version salt-minion 2015.5.10 (Lithium)
