一、什么是saltstack Salt,,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。salt底层采用动态的连接总线, 使其可以用于编配, 远程执行, 配置管理等等. SaltStack 是继 Puppet、Chef 之后新出现的配置管理及远程执行工具, 目前,SaltStack 正得到越来越多的瞩目。与 Puppet 相比,SaltStack 没有那么笨重,感觉较为轻量;不像 Puppet 有 一套自己的 DSL 用来写配置,SaltStack 使用 YAML 作为配置文件格式,写 起来既简单又容易,同时也便于动态生成;此外,SaltStack 在远程执行命令 时的速度非常快,也包含丰富的模块。 官方站点:http://www.saltstack.com/ 官方文档:http://docs.saltstack.com/ 中文站点:http://www.saltstack.cn/ 中文手册:http://docs.saltstack.cn/ 中文wiki:http://wiki.saltstack.cn/doc 二、安装 这里采用的是从EPEL源直接yum安装,当然我们要更新epel源:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm SaltStack-Master(主服务器) # yum -y install salt-master SaltStack-Minion(从服务器) # yum -y install salt-minion
三、简单配置及使用 1、基本信息:
Master端:192.168.1.21 saltstack-node1.example.com
Minion端:192.168.1.22 saltstack-node2.example.com
2、启动命令:
Master端:/etc/init.d/salt-master {start|stop|status|restart|condrestart|reload}
Minion端:/etc/init.d/salt-minion {start|stop|status|restart|condrestart|reload}
3.主配置文件:
Master端:/etc/salt/master
Minion端:/etc/salt/master
4.配置Master端 修改监听地址默认为监听所有
sed -ie ‘s/^#.*interface:.*/\ interface: 192.168.1.111/g’ /etc/salt/master
###注:如果使用主机名,请绑定hosts
5.配置minion端 客户端minion的配置,vim /etc/salt/minion,添加master IP地址和minion ID号,ID建议用主机名来配置,然后开启日志功能,为了不重复操作我下面写了一个脚本,当我们配置minion时能快速搞定:
#/bin/bash
#desc : salt client setttings
read -p “Input Mster IP: “ MIP ###指定masterIP
COMM1=”sed -i \“s/#master: salt/master: $MIP/\“ /etc/salt/minion”
eval $COMM1
#
echo ‘ ‘
read -p “Input Minion ID: “ MID ###修改minion ID
COMM2=”sed -i \“s/#id:.*/id: $MID/\“ /etc/salt/minion”
eval $COMM2
### 开启日志
sed -i “s@#log_file: /var/log/salt/minion@log_file: /var/log/salt/minion@1” /etc/salt/minion
sed -i ‘488d’ /etc/salt/minion
#
sed -i “s@#key_logfile: /var/log/salt/key@key_logfile: /var/log/salt/key@” /etc/salt/minion
#
echo ‘ ‘
echo -e “\033[42;37m Salt-minion Information: \033[0m”
echo ‘##############################’
sed -e ‘/^#/d;/^$/d’ /etc/salt/minion
echo ‘##############################’
echo ‘ ‘
###启动服务
/etc/init.d/salt-minion start
###只要有新的minion客户端添加进来我们运行这个脚本就可快速完成minion端的配置啦.
6.修改完毕我们就可以重启服务啦. 四、开始和Master端通信 1.Minion第一次与Master端通信会向其申请签发证书。在Master端执行# salt-key 即可看到已经签发、待签发以及拒绝的Minion列表。上面那台Minion刚刚申请,所以现在在Master上执行命令后SaltStack- Minion01将会出现在待签发的列表中。 [ 对于批量管理,首先建议的就是打开Master端的自动签发证书,要不然就得在服务器上执行命令# salt-key -a Minion-ID或者# salt-key -A,但相比都比较麻烦,于是我们可执行以下命令将其自动签发
sed -ie ‘s/^#auto_accept:.*/\auto_accept: True/g’ /etc/salt/master
/etc/init.d/salt-master restart
此时再次执行# salt-key 将会看到saltstack-node2.example.com出现在已签发的列表中。 [ 这里就先不解释命令的含义啦,后面在细说。 至此,简单测试完毕 当然SaltStack的功能不止于此,下篇正式看下他是如何工作以及各种配置的编写.