集中式管理工具saltstack是兼容Linux、Windows、Unix平台,能实现服务器的批量管理,命令或脚本下发,软件部署,环境搭建,配置管理,是运维人员的提高管理效率的工具。至于更详细的功能与优势这里不再介绍,网络上有很多前辈有介绍,这里只介绍部署方法。
部署环境
saltstack版本:2015.8.7
服务端master:CentOS6.7 master
被控段minion:CentOS5.11 minion01
CentOS6.7 minion02
CentOS7.2 minion03
SLES11 SP3 minion04
Ubuntu 14.04.4 minion05
Windows Server 2008 R2 SP1 64bit minion06
部署过程
master的部署:
CentOS/RHEL6 yum源的添加,除了os基本yum源(参阅前面文章)外,还添加saltstack官方yum源后。
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum缓存执行如下命令
yum clean all && yum makecache
安装master端 yum install salt-master -y
修改配置文件/etc/salt/master,指定监听的网络接口。
这里网络接口指的是,如果一个网卡就是网卡上配置的IP地址。如果多个网卡,则规划监听来自某个网卡的数据。
启动salt-master服务并配置开机自启动
/etc/init.d/salt-master start
chkconfig salt-master on
minion的部署:
CentOS/RHEL5.11添加如下saltstack的yum源
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-EL5-GPG-KEY.pub
EOF
目前saltstack软件支持的Python以及其组件需要2.6及其以上的版本,但在CentOS/RHEL5平台默认Python版本为2.4,所以需要升级Python版本,那么除了os基本的yum源和saltstack的yum源外,还需要添加epel的yum源。
cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 5 - \$basearch
baseurl=http://mirrors.yun-idc.com/epel/\$releasever/\$basearch
enabled=1
gpgcheck=1
gpgkey=http://mirrors.yun-idc.com/epel/RPM-GPG-KEY-EPEL-5
EOF
重建yum缓存 yum clean all && yum makecache
安装minion软件包 yum install salt-minion -y
修改配置文件/etc/salt/minion,指定master服务器,这里可以是域名,但要能成功解析,也可以是IP地址。
和minion的唯一标识ID,这里建议是主机名或主机应用名来区分主机。
保存并退出,启动salt-minion服务并配置开机自启动。
/etc/init.d/salt-minion start
chkconfig salt-minion on
在master端禁用防火墙与selinux服务
/etc/init.d/iptables stop
setenforce 0
执行命令 salt-key -a minion01 并键入y来接受来自minion01的密钥。
使用 salt 'minion01' test.ping 测试minion01的连通性良好,正常纳管。
CentOS/RHEL6.7 除了os基本的yum源外,saltstack的yum源添加
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum的缓存 yum clean all && yum makecache
安装minion软件包 yum install salt-minion -y
修改配置文件/etc/salt/minion,指定master服务器与ID。
启动服务,配置开机自启动。
/etc/init.d/salt-minion start
chkconfig salt-minion on
在master上接受来自minion02的密钥 salt-key -a minion02 -y
使用test.ping测试连通性 salt 'minion02' test.ping
CentOS/RHEL7.2平台添加os基本yum源,注意如果是RHEL基本yum找不到依赖的软件包,可能需要添加同版本的CentOS的基本yum源。
cat > /etc/yum.repos.d/CentOS-7.2-x86_64 << EOF
[base]
name=CentOS-\$releasever - Base
baseurl=http://mirrors.yun-idc.com/centos/\$releasever/os/\$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF再添加saltsack的yum源
cat > /etc/yum.repos.d/saltstack.repo << EOF
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS \$releasever
baseurl=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/\$releasever/\$basearch/latest/SALTSTACK-GPG-KEY.pub
EOF
更新yum缓存 yum clean all && yum makecache
安装salt-minion软件包 yum install salt-minion -y
修改配置文件/etc/salt/minion指定master服务器与ID
启动服务并配置开机自启动
systemctl start salt-minion.service
systemctl enable salt-minion.service
master端接受来自minion03的密钥,测试连通性。
salt-key -a minion03 -y
salt 'minion03' test.ping
SUSE 11 SP3的配置,除了添加os基本的zypper源外,还要添加saltstack的zypper源
zypper addrepo http://download.opensuse.org/repositories/devel:languages:python/SLE_11_SP3/devel:languages:python.repo
刷新zypper缓存 zypper refresh
安装salt-minion软件包 zypper install salt-minion ,如果遇到因为网络原因下载不了软件包的请多次重试。
编辑配置文件 /etc/salt/minion 指定master与ID
启动salt-minion服务并配置开机自启动
/etc/init.d/salt-minion start
chkconfig salt-minion on
master端接受来自minion04的密钥 salt-key -a minion04 -y
测试连通性 salt 'minion04' test.ping
Ubuntu14.04的配置,导入SaltStack repository的key。
wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add -
添加sources.list源,编辑文件/etc/apt/sources.list添加如下
deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main
更新 sudo apt-get update
安装salt-minion软件包 sudo apt-get install salt-minion -y
修改配置/etc/salt/minion,指定master与ID。
启动服务并配置开机自启动
sudo /etc/init.d/salt-minion start
sudo ln -s /etc/init.d/salt-minion /etc/rc3.d/S98salt-minion
sudo ln -s /etc/init.d/salt-minion /etc/rc5.d/S98salt-minion
master端接受来自minion05的key,测试连通性。
Windows平台到这里下载最新版salt-minion软件来安装
这里Windows Server 2008 R2 SP1 64bit 我们使用版本 Salt-Minion-2015.8.7-AMD64-Setup.exe
需要.netframework3.5及其以上版本的支持,在功能里安装。
打开软件next下一步进行安装
同意协议
指定master服务器与minion ID
自动安装
安装完成
点击开始菜单旁边的服务器管理器
在服务里找到salt-minion服务
右键菜单启动服务
关闭Windows系统防火墙
在master端接受来自minion06的密钥后测试连通性。
由此可实现不同平台主机的管理。