一、SaltStack介绍
SaltStack是一个开源Apache 2.0 license的基于Python开发的配置管理系统及分布式远程执行工具。
Salt有local、Master/Minion、Salt SSH三种工作模式可以适用不同的使用环境。通常采用master/minion模式这种模式扩展方便部署灵活支持单IDC部署及跨IDC部署单个Master最好管理小于1000台minion可以采用Sydnic进行扩展。
Salt采用ZeroMQ保证命令发送到远程系统是并行而非串行。使用公钥和Master进行认证使用AES加密通信流量Salt中加密和认证机制是必不可少的通信更加安全。使用msgpack进行通信具有更高的效率产生更少的网络流量。
Salt可以稳定的运行在RHEL/CentOS/Ubuntu/FreeBSD/Oracle Linux/Amazon Linux等系统上。另外windows不支持salt master但是支持salt minion的安装及运行。
本文在CentOS 6.7 2.6.32-573.el6.x86_64下安装及测试。Salt版本为2015.5.5 (Lithium)。另安装可以参考官网链接https://docs.saltstack.com/en/la ... allation/index.html
二、SaltStack安装
1、公共仓库安装(SaltStack 2015.5.5)
1)说明
从0.9.4版本开始支持EPEL源安装
官方文档说使用EPEL仓库安装会有各种依赖问题需要解决目前使用阿里云的yum仓库安装没有出现问题。
官方文档提到的问题主要有
a最新版的SaltStack不会及时在EPEL中更新
bpython-jinja2从EPEL移至"RHEL Server Optional Channel"
cSaltStack 2015.8需要python-crypto(2.6.1及以上)和python-tornado4.2.1及以上但是Redhat5和6的EPEL中没有
4、需要启用EPEL仓库
2)使用yum安装master
[iyunv@centos67 yum.repos.d]# yum install -y salt-master
已加载插件fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.7 kB 00:00
epel | 4.3 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
解决依赖关系
--> 执行事务检查
.......
依赖关系解决
========================================================================================================================================================================================
软件包 架构 版本 仓库 大小
========================================================================================================================================================================================
正在安装:
salt-master noarch 2015.5.5-1.el6 epel 989 k
为依赖而安装:
PyYAML x86_64 3.10-3.1.el6 base 157 k
libyaml x86_64 0.1.3-4.el6_6 base 52 k
m2crypto x86_64 0.20.2-9.el6 base 471 k
openpgm x86_64 5.1.118-3.el6 epel 165 k
python-babel noarch 0.9.4-5.1.el6 base 1.4 M
python-backports x86_64 1.0-5.el6 base 5.5 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el6.centos extras 13 k
python-chardet noarch 2.2.1-1.el6 base 230 k
python-jinja2 x86_64 2.2.1-2.el6_5 base 466 k
python-msgpack x86_64 0.4.6-1.el6 epel 69 k
python-requests noarch 2.6.0-3.el6 base 95 k
python-six noarch 1.9.0-2.el6 base 28 k
python-urllib3 noarch 1.10.2-1.el6 base 101 k
python-zmq x86_64 14.3.1-1.el6 epel 467 k
salt noarch 2015.5.5-1.el6 epel 4.2 M
zeromq3 x86_64 3.2.5-1.el6 epel 338 k
事务概要
========================================================================================================================================================================================
Install 17 Package(s)
3)使用yum安装minion
[iyunv@centos67 yum.repos.d]# yum install -y salt-minion
......
4)设置开机启动及运行
#设置开机启动
[iyunv@centos67 yum.repos.d]# chkconfig --level 2345 salt-master on
[iyunv@centos67 yum.repos.d]# chkconfig --level 2345 salt-minion on
#检查设置
[iyunv@centos67 yum.repos.d]# chkconfig --list |grep salt
salt-master 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
salt-minion 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
#启动master
[iyunv@centos67 yum.repos.d]# /etc/init.d/salt-master start
Starting salt-master daemon: [确定]
#启动minion
[iyunv@centos67 yum.repos.d]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [确定]
2、SaltStack仓库安装(官方推荐可惜仓库访问不了大家都懂的.....SaltStack 2015.8.1)
从2015.8.0版本后Salt在RHEL5、6、7上的安装可以使用SaltStack仓库。
1)下载并安装SaltStack仓库的公钥并导入
#下载公钥
[iyunv@centos67 ~]# wget https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub
--2015-11-15 21:28:00-- https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub
正在解析主机 repo.saltstack.com... 198.199.77.106
正在连接 repo.saltstack.com|198.199.77.106|:443... 已连接。
已发出 HTTP 请求正在等待回应... 200 OK
长度1744 (1.7K)
正在保存至: “SALTSTACK-GPG-KEY.pub”
100%[==================================================================================================================>] 1,744 --.-K/s in 0s
2015-11-15 21:28:12 (244 MB/s) - 已保存 “SALTSTACK-GPG-KEY.pub” [1744/1744])
[iyunv@centos67 ~]# rpm --import SALTSTACK-GPG-KEY.pub
#查看本机安装的公钥
[iyunv@centos67 ~]# rpm -qa gpg-pubkey*
gpg-pubkey-de57bfbe-53a9be98
gpg-pubkey-c105b9de-4e0fd3a3
#查看公钥信息
[iyunv@centos67 ~]# rpm -qi gpg-pubkey-de57bfbe-53a9be98
Name : gpg-pubkey Relocations: (not relocatable)
Version : de57bfbe Vendor: (none)
Release : 53a9be98 Build Date: 2015年11月15日 星期日 21时29分18秒
Install Date: 2015年11月15日 星期日 21时29分18秒 Build Host: localhost
Group : Public Keys Source RPM: (none)
Size : 0 License: pubkey
Signature : (none)
Summary : gpg(SaltStack Packaging Team <packaging@saltstack.com >)
Description :
-----BEGIN PGP PUBLIC KEY BLOCK-----
#删除公钥
[iyunv@centos67 ~]# rm -f SALTSTACK-GPG-KEY.pub
2)编辑SaltStack yum仓库配置文件/etc/yum.repos.d/saltstack.repo添加如下信息
[iyunv@centos67 ~]# vim /etc/yum.repos.d/saltstack.repo
####################
# Enable SaltStack's package repository
[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 6
baseurl=https://repo.saltstack.com/yum/rhel6
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/rhel6/SALTSTACK-GPG-KEY.pub
3运行yum clean expire-cache刷新yum仓库缓存
[iyunv@centos67 ~]# yum clean expire-cache
已加载插件fastestmirror, security
Cleaning repos: base epel extras saltstack-repo updates
4)在需要安装master的机器安装master
[iyunv@centos67 ~]# yum install -y salt-master
已加载插件fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
解决依赖关系
--> 执行事务检查
---> Package salt-master.noarch 0:2015.8.1-1.el6 will be 安装
--> 处理依赖关系 salt = 2015.8.1-1.el6它被软件包 salt-master-2015.8.1-1.el6.noarch 需要
--> 执行事务检查
..............
--> 完成依赖关系计算
依赖关系解决
========================================================================================================================================================================================
软件包 架构 版本 仓库 大小
========================================================================================================================================================================================
正在安装:
salt-master noarch 2015.8.1-1.el6 saltstack-repo 1.2 M
为依赖而安装:
PyYAML x86_64 3.11-1.el6 saltstack-repo 152 k
libyaml x86_64 0.1.3-4.el6_6 base 52 k
python-babel noarch 0.9.4-5.1.el6 base 1.4 M
python-backports x86_64 1.0-5.el6 base 5.5 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el6.centos extras 13 k
python-chardet noarch 2.2.1-1.el6 base 230 k
python-futures noarch 3.0.3-1.el6 saltstack-repo 26 k
python-jinja2 x86_64 2.2.1-2.el6_5 base 466 k
python-markupsafe x86_64 0.11-10.el6 saltstack-repo 24 k
python-msgpack x86_64 0.4.6-1.el6 epel 69 k
python-requests noarch 2.6.0-3.el6 base 95 k
python-six noarch 1.9.0-2.el6 base 28 k
python-tornado x86_64 4.2.1-1.el6 saltstack-repo 661 k
python-urllib3 noarch 1.10.2-1.el6 base 101 k
python-zmq x86_64 14.5.0-2.el6 saltstack-repo 479 k
salt noarch 2015.8.1-1.el6 saltstack-repo 5.1 M
zeromq x86_64 4.0.5-1.el6 saltstack-repo 568 k
python-crypto x86_64 2.6.1-2.el6 saltstack-repo 501 k
事务概要
========================================================================================================================================================================================
Install 18 Package(s)
5)在需要安装minion的机器安装minion
[iyunv@centos67 ~]# yum install salt-minion
.......
6)设置开机启动及运行
#设置开机启动
[iyunv@centos67 yum.repos.d]# chkconfig --level 2345 salt-master on
[iyunv@centos67 yum.repos.d]# chkconfig --level 2345 salt-minion on
#检查设置
[iyunv@centos67 yum.repos.d]# chkconfig --list |grep salt
salt-master 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
salt-minion 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
#启动master
[iyunv@centos67 yum.repos.d]# /etc/init.d/salt-master start
Starting salt-master daemon: [确定]
#启动minion
[iyunv@centos67 yum.repos.d]# /etc/init.d/salt-minion start
Starting salt-minion daemon: [确定]
3、pip安装&源码安装
不推荐这两种方法安装并没有什么本质的提升而且安装麻烦
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com