SaltStack 安装配置
一、SaltStack简介SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
二、实验环境
1、版本
1
2
3
系统版本:CentOS 6.4 64bit
Python版本:原生版2.6
Salt版本:2014.7.1
2、实验架构
1
2
3
Salt-master: 192.168.1.225 soft:salt-master
Salt-minion01:192.168.1.226soft:salt-minion
Salt-minion02:192.168.1.228soft:salt-minion
三、开始安装Salt
此次安装SaltStack采用yum安装方式,所以需要借助第三方yum源(epel和rpmforge)
1、安装epel源
1
2
3
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# sed -i 's@^#@@' /etc/yum.repos.d/epel.repo
# sed -i 's@mirrorlist@#mirrorlist@' /etc/yum.repos.d/epel.repo
2、安装rpmforge源
1
# rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
3、安装依赖包
1
# yum -y install python-jinja2
4、安装SaltStack包
1
2
3
4
5
服务器安装salt-master包
# yum -y install salt-master
其余被控端安装salt-minion包
# yum -y install salt-minion
四、着手配置SaltStack
1、修改minion配置文件
1
2
3
4
5
6
# vim /etc/salt/minion
master: 192.168.0.106
id: SaltStack_minion_01
#master端的ip地址,注意冒号后面一定要有空格,否则语法错误
#客户端的标识 用于在salt-key显示在公钥列表中,否则就会显示ip地址;冒号后一定要有空格
2、可选参数
1
2
3
4
# vim /etc/salt/master
auto_accept: True
#为True表示master端自动接受请求;为False需手工接受验证请求,否则一直验证
五、启动SaltStack服务
1
2
3
4
5
1、服务端启动salt-master服务
# /etc/init.d/salt-master start
2、被控端启动salt-minion服务
# /etc/init.d/salt-minion start
六、使用SaltStack
1、在master端查看公钥列表
1
2
3
4
5
6
# salt-key -L
Accepted Keys:
SaltStack_minion_01
SaltStack_minion_02
Unaccepted Keys:
Rejected Keys:
2、测试被控主机的连通性、硬盘的使用率、网络接口地址
1
2
3
# salt '*' test.ping
# salt '*' disk.usage
# salt '*' network.interfaces
3、远程执行命令测试
[*]cmd模块包含的shell的输出在被控端,比如cmd.run and cmd.run_all
1
2
3
4
# salt '*' cmd.run date
# salt '*' cmd.run uptime
# salt '*' cmd.run 'df -h'
# salt '*' cmd.run 'ls -l /etc'
[*]pkg函数自动映射本地系统的包管理到salt函数
1
# salt '*' pkg.install vim
七、salt-key参数
1、salt-key常用选项
[*]-L, --list-all
1
#列出所有的公钥
[*]-a ACCEPT, --accept=ACCEPT
1
#接受指定的公钥
[*]-A, --accept-all
1
#接受所有正在请求的公钥
[*]-r REJECT, --reject=REJECT
1
#拒绝指定的公钥
[*]-R, --reject-all
1
#拒绝所有正在请求的公钥
[*]-d DELETE, --delete=DELETE
1
#删除指定的公钥
[*]-D, --delete-all
1
#删除所有的公钥
2、salt-key返回信息
[*]Accepted Keys:接受的公钥列表或者是被控主机
[*]Unaccepted Keys:未被接受的公钥列表
[*]Rejected Keys:被拒绝的公钥列表
页:
[1]