1 Saltctack简介
SaltStack是一种全新的基础设置管理方式,部署轻松,在几分钟内可运作起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
2 测试环境
2.1 系统
Linuxlocalhost.localdomain 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013x86_64 x86_64 x86_64 GNU/Linux
2.2 python版本
Python 2.6.6(r266:84292, Sep 4 2013, 07:46:00)
2.3 salt版本
2.4 服务器
196.168.125.145
196.168.125.146
3 开始安装salkstack
注:本文采用rpm包方式安装
由于saltstack依赖python环境以及相关依赖包,所以此处测试将相关rpm依赖全部安装
Rpm文件见附件
3.1 执行安装
# rpm -ivh *.rpm --nodeps –force
3.2 文件配置
3.2.1 master配置
配置salt-master: /etc/salt/master
# salt运行的用户,影响到salt的执行权限
user: root
#salt的运行线程,开的线程越多一般处理的速度越快,但一般不要超过CPU的个数
worker_threads: 10
# master的管理端口
publish_port :4505
# master跟minion的通讯端口,用于文件服务,认证,接受返回结果等
ret_port : 4506
# 如果这个master运行的salt-syndic连接到了一个更高层级的master,那么这个参数需要配置成连接到的这个高层级master的监听端口
syndic_master_port: 4506
# 指定pid文件位置
pidfile:/var/run/salt-master.pid
# saltstack 可以控制的文件系统的开始位置
root_dir: /
# 日志文件地址
log_file:/var/log/salt_master.log
# 分组设置
nodegroups:
group_all: '*'
# salt state执行时候的根目录
file_roots:
base:
- /etc/salt/file
# 设置pillar 的根目录
pillar_roots:
base:
- /etc/salt/pillar
3.2.2 minion配置
配置salt-minion: /etc/salt/minion
# minion的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
id:192.168.125.146
# salt运行的用户权限
user: root
# master的识别ID,可以是IP,域名,或是可以通过DNS解析的字符串
master :192.168.125.145
# master通讯端口
master_port: 4506
# 备份模式,minion是本地备份,当进行文件管理时的文件备份模式
backup_mode:minion
# 执行salt-call时候的输出方式
output: nested
# minion等待master接受认证的时间
acceptance_wait_time:10
# 失败重连次数,0表示无限次,非零会不断尝试到设置值后停止尝试
acceptance_wait_time_max:0
# 重新认证延迟时间,可以避免因为master的key改变导致minion需要重新认证的syn风暴
random_reauth_delay:60
# 日志文件位置
log_file:/var/logs/salt_minion.log
# 文件路径基本位置
file_roots:
base:
-/etc/salt/minion/file
# pillar基本位置
pillar_roots:
base:
-/data/salt/minion/pillar
注:注意每个选项前预留两个空格位,否则启动可能报错
3.3 启动saltstack
3.3.1 启动master
# servicesalt-master restart
3.3.2 启动minion
# servicesalt-minion restart
注1:如果启动错误会具体打印出具体错误,按照问题提示重新配置即可
注2:saltstack 是使用python2的语言编写,对python3的兼容性不好,请使用python2的环境
3.4 认证请求接收
Master执行:
# salt-key -L
接收认证
# salt -key -A
3.5 去除认证
# salt-key -y-d 192.168.125.146
4 salt验证
4.1 网络测试
# salt ‘192.168.125.146’test.ping
返回值为true,即机器认证成功并已经联通
5 附件
Rpm安装包中包含所有依赖以及客户端和服务端
因连接问题,可以联系本人:810159562