Centos7.2安装Saltstack
Saltstack介绍
      SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
Saltstack支持操作系统
*NIX
Linux
Solaris
HP Unix
FreeBSD
OS X
windows
理论上来说,Salt可以安装在任何*NIX系统上,包括master和minion。除了源代码之外, 还可以通过Salt提供的安装脚本,或者PyPI进行安装。
对于Linux,尤其是企业环境中常用的RHEL,CentOS,Ubuntu,可以通过包管理器非常容易的安装master 和/或 minion。 比如: yum(需要先配置EPEL), apt(需要增加http://debian.madduck.net/repo/库),yaourt,ports。
Mac OS X 先使用HomeBrew解决依赖包:brew install swig zmq,然后用PyPI安装:pip install salt。
对于windows,只能安装minion(windows只适合做马仔)。从官方网站下载合适的安装包。安装过程中可以指定master地址和本机名称。 安装后需要自己启动Salt服务。配置文件在C:\salt\conf\minion。
具体的各操作系统下的安装可以参考官方文档。这里为了简单,只考虑常用的RHEL/CentOS 和 windows。 在下面的例子中,使用一台RHEL/CentOS作为master, 另外一台RHEL/CentOS和一台windows 2003 Server作为 minion。

[root@saltstack-server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo安装epel-release和salt-master工具包
 [root@saltstack-server ~]# yum install epel-release -y
 [root@saltstack-server ~]# yum install salt-master -y

 配置saltstack开机自启动服务
 [root@saltstack-server ~]# systemctl enable salt-master.service[root@saltstack-server ~]# systemctl enable salt-minion.service 
 启动saltstack master 服务 
 [root@saltstack-server ~]# systemctl start salt-master.service[root@saltstack-server ~]# systemctl enable salt-minion.service


检查saltstack端口及进程的运行状态,其中4505是saltstack管理服务器发送命令消息的端口,4506是消息返回时所用的端口。saltstack一般是会启动多个进程来进行不同工作的。
[root@saltstack-server ~]# netstat -tunlp | grep python
tcp        0      0 0.0.0.0:4505            0.0.0.0:*               LISTEN      17112/python        
tcp        0      0 0.0.0.0:4506            0.0.0.0:*               LISTEN      17134/python

salt-minion的配置安装
查看CentOS的版本和其内核的版本及安装配置阿里云yum源
[root@zabbix-server ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

安装epel-release工具包和salt-minion客户端
[root@zabbix-server ~]# yum install epel-release -y
[root@zabbix-server ~]# yum install salt-minion -y


 minion 修改配置文件

将master 服务的IP

[root@zabbix-server ~]# grep -n '^[a-z]' /etc/salt/minion
16:master: 10.0.8.24

启动minion

systemctl start salt-minion.service


查看所有的minion端

[root@saltstack-server salt]# salt-key -L
 Accepted Keys:
 Denied Keys:
 Unaccepted Keys:
 Saltstack-server
 zabbix-server
 Rejected Keys:
 [root@saltstack-server salt]# tree
 .
 ├── master
 ├── minion
 ├── minion.d
 ├── minion_id
 └── pki
     ├── master
     │   ├── master.pem
     │   ├── master.pub
     │   ├── minions
     │   ├── minions_autosign
     │   ├── minions_denied
     │   ├── minions_pre
     │   │   ├── Saltstack-server
     │   │   └── zabbix-server
     │   └── minions_rejected
     └── minion
         ├── minion.pem
         └── minion.pub

将所有的服务器添加

[root@saltstack-server salt]# salt-key -A
 The following keys are going to be accepted:
 Unaccepted Keys:
 Saltstack-server
 zabbix-server
 Proceed? [n/Y] Y
 Key for minion Saltstack-server accepted.
 Key for minion zabbix-server accepted.[root@saltstack-server salt]# salt '*' test.ping
 zabbix-server:
     True
 Saltstack-server:
     True
 [root@saltstack-server salt]# salt '*' cmd.run 'uptime'
 Saltstack-server:
      00:57:46 up  2:26,  2 users,  load average: 0.00, 0.02, 0.05
 zabbix-server:
      00:57:46 up  2:26,  1 user,  load average: 0.07, 0.03, 0.05
[root@saltstack-server salt]# salt '*' cmd.run 'free -m'
 Saltstack-server:
                   total        used        free      shared  buff/cache   available
     Mem:           1824         297        1239           8         287        1366
     Swap:          2047           0        2047
 zabbix-server:
                   total        used        free      shared  buff/cache   available
     Mem:           1824         404        1084           9         336        1255
     Swap:          2047           0        2047
 [root@saltstack-server salt]# salt '*' cmd.run 'df -h'
 zabbix-server:
     Filesystem               Size  Used Avail Use% Mounted on
     /dev/mapper/centos-root   39G  1.5G   38G   4% /
     devtmpfs                 903M     0  903M   0% /dev
     tmpfs                    913M   12K  913M   1% /dev/shm
     tmpfs                    913M  8.5M  904M   1% /run
     tmpfs                    913M     0  913M   0% /sys/fs/cgroup
     /dev/mapper/centos-home   19G   33M   19G   1% /home
     /dev/sda1                497M  126M  371M  26% /boot
     tmpfs                    183M     0  183M   0% /run/user/0
 Saltstack-server:
     Filesystem               Size  Used Avail Use% Mounted on
     /dev/mapper/centos-root   18G  1.2G   17G   7% /
     devtmpfs                 903M     0  903M   0% /dev
     tmpfs                    913M   16K  913M   1% /dev/shm
     tmpfs                    913M  8.5M  904M   1% /run
     tmpfs                    913M     0  913M   0% /sys/fs/cgroup
     /dev/sda1                497M  126M  371M  26% /boot
     tmpfs                    183M     0  183M   0% /run/user/0