Saltstack 安装配置及简单使用
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,一般可以理解为简化版的puppet和加强版的func。SaltStack基于python语言实现面结合轻量级消息队列与python第三方mokuia构建
通过部署saltstack环境,我们可以在成千上万他服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。
(1)、minion在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion里面设置)下自动生成minion.pem(private key)和 minion.pub(public key),然后将 minion.pub发送给master。
(2)、master在接收到minion的public key后,通过salt-key命令accept minion public key,这样在master的/etc/salt/pki/master/minions下的将会存放以minion id命名的 public key,然后master就能对minion发送指令了。
在实验实现需要先准备好两台安装好阿里云的yum源的linux服务器,因为这次实验使用的是yum安装
修改master的hosts为
修改两台服务器的主机名分别为tian2和tian3
master端进行的操作:
yum install -y epel-release yum install -y salt-master salt-minion
minion端进行的操作:
yum install -y epel-release yum install -y salt-minion
服务端和客户端都要配置 master
# vim /etc/salt/minion //在第16行添加,冒号后有一个空格
master: 192.168.0.109
在服务端:
/etc/init.d/salt-master start /etc/init.d/salt-minion start
在客户端;
/etc/init.d/salt-minion start
在服务端上面的操作:
salt-key -a tian3 (设置秘钥)
然后输入大写Y回车
在服务端执行下面的命令进行测试:
salt '*' test.ping salt '*' cmd.run 'df -h'
使用的比较多的就是:
salt '*' cmd.run 'netstat -ntlp' (cmd.run模块) salt '*' cp.get_file salt://hellotest/rocketzhang /root/rocketzhang
说明:这里的*必须是在master上已经被接受过的客户端,可以通过salt-key查到,通常是我们已经设定的id值。关于这部分内容,它支持通配、列表已经正则。比如两台客户端web10、web11,那我们可以写成salt 'web*' salt 'web1[02]' salt -L 'web10,web11' salt -E 'web(10|11)'等形式,即多个机器用逗号分隔,而且需要加-L,使用正则必须要带-E选项,它还支持grains和pillar,分别加-G和-I,下面会介绍到