SaltStack部署

目录

一、SaltStack简介

1:基本简介

2:通信方式

3:功能简介

二、资源获取

1:官网地址

 2:阿里云地址

三、部署 

 1:配置环境说明:

 2:资源配置


一、SaltStack简介

    1:基本简介

        SaltStack是一种新型的基础设施管理软件,简单易部署。与Ansible、Puppet相同是一款服务器配置和管理的软件。可以管理成千上万的服务器,和足够快的速度控制与他们交流,以毫秒为单位。

     2:通信方式

        Saltstack是基于python开发的一套C/S架构配置管理工具,使用SSL证书签方的方式进行认证管理。底层使用ZeroMQ消息队列pub/sub方式通信。开放的端口有:4505(用来链接slave,发布订阅)和4506(请求响应,模式为:zmq)。

SaltStack部署
图1 SaltStack的通信模型

【注】通过Master和Minion之间的通信进行配置部署

3:功能简介

        SaltStack具备配置管理、远程执行、监控等功能。通过部署 SaltStack环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。简单来说它的两大基础功能就是:配置管理、远程命令执行。剩下就是根据不同的需求*组合,实现更复杂的功能和系统管理。

二、资源获取

1:官网地址:

https://docs.saltproject.io/en/latest/topics/installation/index.html#platform-specific-installation-instructions

SaltStack部署
图2 SaltStack官网资源

 2:阿里云地址:

https://developer.aliyun.com/mirror/saltstack?spm=a2c6h.13651102.0.0.690e1b11xCa4Nm

SaltStack部署
图3 阿里云SaltSatck资源

三、部署 

    1:配置环境说明:

        操作系统:Redhat

        部署分配(server1:Master端;server2、server3:Minion端):

主机名称 IP 使用
  server1 192.168.1.11  Master
  server2 192.168.1.12 Minion端
  server3 192.168.1.13

         防火墙:防止防火墙对通信影响,保持实验环境纯净,设置防火墙关闭。

systemctl disable --now firewalld.service

     2:资源配置

       1、 配置yum仓库:

##配置yumm源,在/etc/yum.repos.d/产生salt-latest.repo文件
[root@server1 ~]# sudo yum install https://mirrors.aliyun.com/saltstack/yum/redhat/salt-repo-latest-2.el7.noarch.rpm

##给server2 server3 传输配置文件
[root@server1 ~]# scp salt-latest.repo root@server2:/etc/yum.repos.d/
[root@server1 ~]# scp salt-latest.repo root@server3:/etc/yum.repos.d/

        yum源文件内容:

SaltStack部署
图4 yum配置文件内容

         2、软件安装:

##server1安装S端
[root@server1 ~]# yum install -y salt-master.noarch

##server2 3 安装C端
[root@server2 ~]# yum install -y salt-minion.noarch
[root@server3 ~]# yum install -y salt-minion.noarch
SaltStack部署
图5 软件安装

        3、 服务启动:

##在server1上设置master开机启动
[root@server1 etc]# systemctl enable --now salt-master.service

##在server2 3 上设置minion开机启动
[root@server2 etc]# systemctl status salt-minion.service
[root@server3 etc]# systemctl status salt-minion.service
SaltStack部署
图6 master启动后的状态

 

SaltStack部署
图7 minion端启动状态

        配置minion端的配置文件(/etc/salt/minion),指定master为server1(192.168.1.11)

##配置文件
[root@server2 salt]# /etc/salt/minion

##修改内容
[root@server2 salt]# vim /etc/salt/minion

 14 # Set the location of the salt master server. If the master server cannot be
 15 # resolved, then the minion will fail to start.
 16 master: 192.168.1.11 ##指定master

SaltStack部署
图8 minion端指定master

         上述过程就是完成了SaltStack的安装,下面进行状态检测,查看安装的软件是否能正常的运行。

        4、状态检测

##查看server1和server2、server3是否通信
[root@server1 etc]# salt-key -L            ##列出所有通信列表
Accepted Keys:                ##接受的服务
Denied Keys:                  ##拒绝的服务
Unaccepted Keys:              ##未授权的服务
server2
server3
Rejected Keys:

[root@server1 etc]# salt-key -A    ##允许所有服务通信

[root@server1 etc]# salt-key -L    ##server2 server3 和server1正常通信
Accepted Keys:
server2
server3
Denied Keys:
Unaccepted Keys:
Rejected Keys:

命令 参数 含义
salt-key -h 帮助文档
-L 列出所有公钥
-A 通过所有公钥认证
-a 指定通过的参数
-D 删除所有认证
-d 删除指定的证书认证

                通过上述命令可以查看服务是否进行了通信,如果能看到服务通信,证明服务配置完成。

SaltStack部署
图9 通信检测1

        查看master的端口:

SaltStack部署
图10 通信端口监测

         通过状态查看和端口通信查看,通信正常。

        5、通信测试:

##通信测试
[root@server1 etc]# salt '*' test.ping
SaltStack部署
图11 通信正常

【注】上述文章过程是没有热呢问题的,若出现问题,请参考下面文章(undo):

上一篇:寒假训练——搜索——C - Robot


下一篇:14.Docker(五)-----数据卷(Docker数据卷管理、卷插件)