saltstack自动化运维工具搭建个人笔记

时间:2021-02-01 21:51:56

至于为什么选择saltstack,因为Puppet、Chef基于Ruby开发,而ansible、saltstack基于python开发,便于后期二次,良好的可移植性。

又,ansible基于SSH协议传输数据,Saltstack使用消息队列zeroMQ传输数据,MQ通讯和SSH通讯速度相差明显,考虑到速度方面,排除ansible,最终选择Saltstack。

不过两者相比之下Ansible的安全性倒是最好,适合金融行业。

 

1.本次实验环境

[root@saltstack ~]# python -V
Python 2.6.6

 

IP 角色 系统
192.168.1.110 master redhat6.5
192.168.1.111 minion redhat6.5

2.SALTSTACK安装

server端安装

#导入EPEL YUM源 
rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
#服务器master的安装
yum -y install salt-master
chkconfig salt-master on
service salt
-master start

minion端安装

#导入EPEL YUM源 
rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
yum
-y install salt-minion
chkconfig salt-minion on
service salt-minion start

 

3.配置文件修改

####master端

[root@saltstack ~]# vim /etc/salt/master
15 interface: 0.0.0.0 #修改地15行

303 auto_accept: True #自动接受客户端发送过来的key,
####minion端

#vim /etc/salt/minion
master: 192.168.1.110 #你的master服务器地址
id: minion #你的主机名

分别启动服务端和客户端的salt服务

[root@saltstack ~]# /etc/init.d/salt-master start
Starting salt-master daemon: [确定]
[root@saltstack ~]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [确定]
[root@saltstack ~]# netstat -an|grep 4505
tcp 0 0 0.0.0.0:4505 0.0.0.0:* LISTEN
tcp 0 0
192.168.1.110:4505 192.168.1.111:38926 ESTABLISHED
tcp 0 0
192.168.1.110:4505 192.168.1.111:38892 ESTABLISHED
[root@saltstack
~]# netstat -an|grep 4506
tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN

## 查看当前的salt key信息

saltstack自动化运维工具搭建个人笔记

## 测试被控主机的连通性
saltstack自动化运维工具搭建个人笔记

 ## 根据被控主机的grains信息进行匹配过滤

 saltstack自动化运维工具搭建个人笔记

 远程代码执行测试

 saltstack自动化运维工具搭建个人笔记

#查看所有客户端up/down状态
[root@saltstack ~]# salt-run manage.status down:
up:
- minion

cmd模块(实现远程的命令行调用执行)
saltstack自动化运维工具搭建个人笔记

 service 服务模块(被控主机程序包服务管理)

 saltstack自动化运维工具搭建个人笔记

 network模块(返回被控主机网络信息)

 saltstack自动化运维工具搭建个人笔记