操作系统centos6.3,centos6.4,windows server2008R2,windows7。
文中的下载链接可能会随着saltstack官网上版本的更新,而出现变动或错误,请以你需要安装的版本链接为准。我写上具体链接是为了近段时间重复操作时方便。
本文中,linux采用EPEL安装,windows选择exe安装包。
1.在你的系统中如果EPEL当前并不是enabled状态,你可以通过如下命令启用它。
对于RHEL 5:
rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
对于RHEL 6:
rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
2.对于CentOS,saltstack的包分为salt,salt-master,salt-minion,salt-api,salt-halite五个。这段时间安装的稳定版本是2014.1.7版本。
通常master和minion是结构如图:
在salt-master上运行,
yum install salt-master
在salt-minion上运行,
yum install salt-minion
3.安装后的简单配置。
只需修改minion的配置文件即可。在minion上:
vim /etc/salt/minion
将master的值设置为master的hostname或IP。如果是设置hostname,minion必须能够解析hostname。
设置id值,一个master下的所有minion有唯一的id。
4.设置防火墙。linux的selinux最好关掉。
salt-master服务需要监听4045和4046端口,因此需要开放这两个端口。
iptables -A INPUT -p tcp --dport 4045 -j ACCEPT iptables -A INPUT -p tcp --dport 4046 -j ACCEPT
如果不想设置防火墙直接关掉吧,测试环境:service iptables stop。
5.启动master和minion并设置开机启动。
启动Master:
service salt-master start
如果想查看启动时saltstack做了哪些操作,可以以调试模式启动:
salt-master -l debug
配置master开机自动启动:
chkconfig salt-master on
启动Minion:
service salt-minion start
调试模式启动:
salt-minion -l debug
配置Minion开机自动启动:
chkconfig salt-minion on
5.认证。
在master上
salt-key -L 查看当前认证的id和待认证的id
salt-key -a “minion id”
salt-key -A 接受所有为认证的节点
salt-key -D 删除所有认证过的id
salt-key -d "minion id" 删除指定节点
master的配置文件里有一个参数AutoAccept,默认为False,设置为True,即可自动认证。
认证成功后测试一下:
salt "*" test.ping salt "minion id" test.ping salt "*" cmd.run "uname -a" slat "*" grains.items
6.windows server 2008上安装minion。windows上只能安装minion,官方也只对windows server 2008和windows 7进行了测试。
下载列表:http://docs.saltstack.com/en/latest/topics/installation/windows.html。这里下载Salt-Minion-2014.1.7-AMD64-Setup.exe。
安装很简单,安装是设置master的hostname或IP地址即可。安装后可以在windows的服务里找到salt-minion。启动服务,再执行第5步的认证。
7.示例。
图一
机器的信息如上图所示。
(1)安装上面的1,2,3,6步安装mater和minion。其中这里的salt.linux.minion.test上的配置文件修改如下:
#注意冒号后面有一个空格,这是yaml的格式,否则启动时会报错 master: salt.master.test #或者master: 192.168.1.3 id: salt.linux.minion.test #如果不设置id,saltstack会把minion的hostname当作id来使。
ztp上可以在安装是设置master和id,如图二所示:
图二
也可以安装后修改配置文件C:\salt\conf\minion(我这里以默认的安装路径为例),修改的地方与linux上是一致的。
(2)安装第4步设置master的防火墙。
(3)安装第5步启动服务。windows的服务可以通过“控制面板-管理-服务”来启动。
(4)认证。
在master上操作:
[root@www ~]# salt-key -L Accepted Keys: Unaccepted Keys: salt.linux.minion.test salt.windows.minion.test Rejected Keys: [root@www ~]# salt-key -A The following keys are going to be accepted: Unaccepted Keys: salt.linux.minion.test salt.windows.minion.test Proceed? [n/Y] Y Key for minion salt.linux.minion.test accepted. Key for minion salt.windows.minion.test accepted.
删掉minion参照第5步的介绍。
(5)test.ping。
[root@www ~]# salt "*" test.ping salt.linux.minion.test: True salt.windows.minion.test: True [root@www ~]# salt "*" cmd.run 'uname -a' salt.linux.minion.test: Linux salt.linux.minion.test 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux salt.windows.minion.test: 'uname' is not recognized as an internal or external command, operable program or batch file.
完!