Salt介绍

salt是一个新的基础平台管理工具。只需花费数分钟即可运行起来, 扩展性足以支撑管理上万台服务器,数秒钟即可完成数据传递. 经常被描述为 Func加强版+Puppet精简版。


物理环境

170254563.jpg


1.安装前准备

 修改服务器的主机名和host  使其相互能用域名ping通

    vim /etc/hosts


10.0.110.33  wuhan33

10.0.123.229 saltmaster

10.0.110.74  wuhan74


防火墙开放端口,master端需要4505,4506. minion端需要开放sport为4505端口。4505(publish_port)为salt的消息发布系统,4506(ret_port)为salt客户端与服务端通信的端口。如果使用lsof查看4505端口,会发现所有的Minion在起个高位端口连接master的4505端口保持在ESTABLISHED


2.导入epel yum源

rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm


3.SALT快速安装


 编辑本段回目录Salt官方提供了一个SaltBootstrap项目用来进行快速安装。


wget --no-check-certificate -O - http://bootstrap.saltstack.org | sh


中间可能会提示缺包, 单独将包下下来 强制装上去就好了

我redhat5.7提示缺一个salt-0.17.2-2.el5.noarch.rpm ,然后我就单独下了这个包强制安装后就可以了

 rpm -ivh --nodeps salt-0.17.2-2.el5.noarch.rpm


这个默认安装是只安装了minion端, 所以master端需要另外安装


  yum -y install  salt-master


这样所有机器的salt就都已安装完毕。



4.saltstack的配置


如果只是想简单的将服务起起来用的话,saltstack的必要配置可谓是相当简单明了


 Master端的配置

 vim  /etc/salt/master


   interface: 10.0.123.229    添加master 侦听的IP地址



    Minion端的配置


vim  /etc/salt/minion


   master: 10.0.123.229


   id:  wuhan33


配置好以后将服务重启  先重启master再minion



 #saltstack master启动和设置开机自动启动/

 etc/init.d/salt-master start

 chkconfig salt-master on

#Saltstck minion启动和设置开机自动启动

/etc/init.d/salt-minion  start

 chkconfig salt-minion on


5.Saltstack master认证Minion KEY


    master默认监听两个端口, 4505(publish_port)为salt的消息发布系统,4506(ret_port)为salt客户端与服务端通信的端口,所以确保客户端能跟服务端的这2个端口通信

  Saltstack使用公共密钥加密来保证master和minions的安全通信。安装的时候Salt自动生成这些证书,但需要在master端验证minion的证书来确认master和minion之间是授信的。

 查看现在的认证情况  salt-key list

自动化运维工具Saltstack的安装_第1张图片


使用命令salt-key -a wuhan74  将机器加入认证

自动化运维工具Saltstack的安装_第2张图片



6.Saltstack测试

1)通信测试:Saltstack证书认证通过以后,就可以进行通信,在master通过test.ping命令来测试它们之间的连接。通配符"*"代表了所有minion。

自动化运维工具Saltstack的安装_第3张图片


7.saltstack分组及其测试

 对于线上web,database等安装配置相同或者相近的服务器可分为一组,方便批量安装和管理


  vim /etc/salt/master

  添加如下配置

自动化运维工具Saltstack的安装_第4张图片


 分组测试

自动化运维工具Saltstack的安装_第5张图片




总结:SaltStack安装和基本的配置已经完成,可以通过SaltStack批量执行系统命令,包括重启系统,重启服务,查看系统负载,添加/删除用户等等。当然, Saltstack的功能还不止这些,配置管理等一些进阶的应用还完全没有发挥出来。这还是需要不断的学习进步才行啊