手底下的服务器多了以后,维护起来真的挺费劲的,老大说装个啥软件咱就要在十多台服务器上挨个装一遍,简直耽误时间,要是遇到什么停电维护,又要关闭一大堆服务器异常的麻烦。
所以咯,就找了一下方便批量部署批量操作的软件,发现推荐的比较多的有两个,一个是puppet,一个是saltstack。
puppet我研究了一下就放弃了,毕竟我不是专业运维的,python脚本要学习起来还是比较消耗时间的,为了速成的效果就选择了saltstack。
saltstack在网上经常被叫做自动化运维工具,在我看来自动化运维是那种写好脚本,出了问题可以自动处理,就我目前的需求来说顶多算一个批量部署工具。
好了,我们先装上试试效果。
首先选择一台服务器作为服务端,在服务端我们可以批量执行命令,根据saltstack官网的安装方法,安装saltstack的repo源就可以直接用yum安装了。
执行命令
rpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub
假设我们的服务端IP是192.168.22.226,执行安装命令
yum install salt-master
安装之后,配置一下salt的配置文件,先设置一下日志的等级,然后设置自动接受客户端的连接秘钥。
执行命令
vi /etc/salt/master
在里面加入下面的配置
log_level: debug
log_level_logfile: debug
auto_accept: True
好了,我们启动一下salt的服务端,设置成开机自启.
service salt-master on
chkconfig salt-master on //RHEL6
systemctl enable salt-master.service //RHEL7
这样暂时就可以不管服务端了。来配置一下客户端,或者叫minion
首先也是安装saltstack的repo源,跟上边一样,然后yum安装。
yum install salt-minion
安装好之后,配置一下配置文件。
执行命令
vi /etc/salt/minion
在里面加入
master: 192.168.22.226
id: practice-217
master是配置服务端IP,id是为了标识这台客户端的信息,我就写了功能和IP,大伙有其他想法的随意。对了,冒号后面一定要跟一个空格,不然配置文件会报错,这是salt的一个bug。
然后我们也启动minion的服务,开机自启我就不写了,和上边一样,换个服务名而已。
service salt-minion start
这个时候我们可以回到服务端,查看是否连接成功。
执行命令
salt-key -L
这个命令会列出所有已经接受的秘钥,标识已经连接成功了。我这里已经配置了很多,效果是这个样子的。
salt '*' test.ping
我这里显示全部能ping通,这样就可以批量操作这些服务器了。
执行命令
salt '*' cmd.run 'ntpdate 192.168.22.210'
效果是这样的。
突出一个爽。