目录
一、salstack简介
1、简介
2、原理
3、特性
4、ZeroMQ介绍
二、Saltack服务的安装
步骤一:
1、在阿里云上查看相关的下载地址
2、安装salstack yum 源文件
步骤二:
1、复制官 的命令之后会自动生成一个yum源文件信息
2、因为从官 上下载镜像速度很慢,所以根据阿里云上的要求将路径改变为自己阿里云自己的镜像仓库路径
3、在server1上安装salt-master、 在server2、server3上安装salt-minion
步骤三:
1、查看认证名单
2、添加认证
3、测试
4、如果minion端的主机修改主机名 服务无法连接master的解决方法
5、查看证书所在的路径
6、master端和minion端彼交换公钥来完成加密通信的
(一)、远程执行获取server2系统磁盘的信息的目录文件
步骤一: 查看salt相关的文档信息
步骤二: 远程部署软件包
1、创建模块目录
2、编写模块文件、同步模块
3、运行模块
(二)、通过编写sls方式来进行
步骤一 :安装apache服务
1、配置文件的书写格式
2、使用子目录来做组织是个最好的选择
(三)、远程安装httpd服务
步骤二: 修改模板信息
步骤三: 编译、测试
一、salstack简介
1、简介
SaltStack时一种配置管理系统,能够维护预定义状态的远程节点
SaltStack时一种分布式的远程执行系统,用来在执行远程节点都上执行命令和查询的数据
SaltStack时运维人员提高工作效率,规范业务配置与操作的利器ZeroMQ
使命令发送到的远程系统时并行的步是串行的
使用安全加密的协议
使用最小最快的 络模块载荷
提供简单的编程接口ZeroMQ
Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成功的为目标不止可以通过主机名,还可以通过系统属性
知识点:
[root@server2 ~]# cd /var/cache/salt/minion/
[root@server2 minion]#
[root@server2 minion]# tree .
.
├── extmods
└── proc
2 directories, 0 files
salt在推送数据的时候会存放到远端的 /var/cache/salt/minion/ 目录下
SaltStack 是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,是基于python开发的一套C/S自动化运维工具,通信采用了zeromq消息队列的(pub/sub),数据传输采用了AES(高级加密)保证安全性,认证采用了SSL方式。
通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。
2、原理
SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。minion上线后先与master端联系,把自己的pub key发过去,这时master端通过salt-key -L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信,监听的是4505端口 Salt Master 运行的第二 络服务就是ZeroMQ REP系统,默认监听的是4506端口
3、特性
(1)、部署简单、方便;
(2)、支持大部分UNIX/Linux及Windows环境;
(3)、主从集中化管理;
(4)、配置简单、功能强大、扩展性强;
(5)、主控端(master)和被控端(minion)基于证书认证,安全可靠;
(6)、支持API及自定义模块,可通过Python轻松扩展
4、 ZeroMQ介绍
ZeroMQ是由一套组件组成,内封装的有 络通信,消息队列,线程调度等功能并向上层提供了简洁的API接口,应用程序通过加载库文件,调用API函数来实现高性能 络通信。
ZeroMQ将 络通信分成4种模型,分别是一对一结对模型(Exclusive-Pair)、请求回应模型(Request-Reply)、发布订阅模型(Publish-Subscribe)、推拉模型(Push-Pull)。这4种模型总结出了通用的 络通信模型,在实际中可以根据应用需要,组合其中的2种或多种模型来形成自己的解决方案。
saltstack-master与minion通信就采用了zeromq的请求回应模型(request-reply)和发布订阅模型(publish-subscribe):
- 请求回应模型
由请求端发起请求,然后等待回应端应答。一个请求必须对应一个回应,从请求端的角度来看是发-收配对,从回应端的角度是收-发对。跟python-setproctitle.x86_64一对一结对模型的区别在于请求端可以是1~N个。该模型主要用于远程调用及任务分配等。Echo服务就是这种经典模型的应用。
- 发布订阅模型
发布端单向分发数据,且不关心是否把全部信息发送给订阅端。如果发布端开始发布信息时,订阅端尚未连接上来,则这些信息会被直接丢弃。订阅端未连接导致信息丢失的问题,可以通过与请求回应模型组合来解决。订阅端只负责接收,而不能反馈,且在订阅端消费速度慢于发布端的情况下,会在订阅端堆积数据。该模型主要用于数据分发。天气预 、微博明星粉丝可以应用这种经典模型。
- ansible-playbook文件编译主机的任务的数量
- 实验环境
主机名 | ip | 服务 |
---|---|---|
server1 | 172.25.6.1 | 服务端 salt-master |
server2 | 172.25.6.2 | 客户端 salt-minion |
server3 | 172.25.6.3 | 客户端 salt-minion |
二、Saltack服务的安装
步骤一:
查看官 信息配置yum源
saltstack 官 :https://www.saltstack.com/
阿里云上的镜像仓库的位置:https://developer.aliyun.com/mirror/saltstack
1、在阿里云上查看相关的下载地址
主下载镜像是使用的是阿里云的镜像 因为下载的速度快,如果是官 下载的速度慢
2、安装salstack yum 源文件
复制阿里云上yum源文件的安装地址
步骤二:
在相应的主机上安装 salt-master、salt-minion 软件
1、复制官 的命令之后会自动生成一个yum源文件信息
在server1、server2、server3节点上进行
(注:生成的文件信息yum源的地址为官 的地址)
2、因为从官 上下载镜像速度很慢,所以根据阿里云上的要求将路径改变为自己阿里云自己的镜像仓库路径
在server1、server2、server3节点上进行
3、在server1上安装salt-master、 在server2、server3上安装salt-minion
3.1、在server1上:
3.1.1、安装salt-master
3.1.2、开启 salt-maaster 服务
3.1.3、salt默认配置文件存放的路径
3.1.4、开启 salt-maaster 服务 后系统会开启4505、4506 端口
3.1.5、安装可以显示salt与python进程的关系的软件
ps ax查看进程的关系
3.1.6、监测mater和minion相连接的情况
安装lsof软件 可以查看到后台主机与本机之间的连接情况
3.2、在server2、server3主机上
/var/cache/salt/minion/extmods/modules/mydisk.py3.2.1、安装salt-minion
3.2.2、配置minion文件
3.2.3、开启salt-minion
步骤三:
在进行上边的操作之后server2、server3、就可以server1进行连接
测试
1、查看认证名单
(认证没有出现server2、server3说明了server2、server3主机没有连上)
1.2、解决思路:
重启动服务——>查看minion配置文件——>查看防火墙是否开启
关闭三台主机的防火墙服务
再次查看 :
(因为防火墙的原因!!!)
2、添加认证
3、测试 :
4、如果minion端的主机修改主机名 服务无法连接master的解决方法
如果minion端修改主机名后无法与master’端进行连接 只需要把/etc/salt/minion_id文件删除掉 让系统重新生一个新的文件即可 !!!
5、查看证书所在的路径
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!