saltstac的简介和安装与配置

文章目录

  • saltstack的简介和安装与配置
    • 一.saltstac的简介
      • 1.saltstack的简介
      • 2.saltstack的通信机制
    • 二.saltstack安装与配置

saltstack的简介和安装与配置

一.saltstac的简介

1.saltstack的简介

  • saltstack是一个配置管理系统,能够维护预定义状态(也就是预期的状态) 的远程节点。
    进行的操作会匹配预定义的状态,如安装软件会对依赖性进行解决达到最终安装的状态,而卸载时只会卸载指定的软件包,对其依赖性不进行操作。
  • saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。
    这也是saltstack与ansible的不同。saltstack有agent。
  • saltstack是运维人员提高工作效率、规范业务配置与操作的利器。

Salt的核心功能

  • 使命令发送到远程系统是并行的而不是串行的
  • 使用安全加密的协议
  • 使用最小最快的网络载荷(消息队列)
  • 提供简单的编程接口(便于二次研发)

Salt同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

2.saltstack的通信机制

SaltStack 采用 C/S模式,minion与master之间通过ZeroMQ(0MQ、ZMQ)消息队列通信,默认监听4505端口。

server端通过4505端口对client进行推送,如下图:
saltstac的简介和安装与配置_第1张图片
Salt Master运行的第二个网络服务就是ZeroMQ REP系统,默认监听4506端口。

master端通过4506端口接收minion端接收响应的消息

二.saltstack安装与配置

saltstack官网:https://www.saltstack.com/
实验环境:

server2 172.25.70.2 salt-master
server3 172.25.70.3 salt-minion
server4 172.25.70.4 salt-minion
上述主机关闭火墙及selinux 可以联网

1.下载repo文件
saltstack官网教程:https://repo.saltstack.com/#rhel

也可通过阿里镜像的教程(可能不是最新版本的):https://developer.aliyun.com/mirror/saltstack?spm=a2c6h.13651102.0.0.3e221b11ehPZLK

三台主机都下载repo文件

yum install -y  https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm

在这里插入图片描述2.分别安装salt-master和salt-minion

server端安装salt-master:

yum install -y salt-master 
systemctl enable --now salt-master 

查看server端的主配置文件

vim  /etc/salt/master

里面规定了推送消息的4505端口及接收响应消息的4506端口
saltstac的简介和安装与配置_第2张图片以及salt的base路径:
saltstac的简介和安装与配置_第3张图片查看进程

ps ax

saltstac的简介和安装与配置_第4张图片
如果想查看salt相关进程的一些信息,可以安装一个软件包:

yum install -y python-setproctitle.x86_64
systemctl restart salt-master 
ps ax

saltstac的简介和安装与配置_第5张图片
client端则安装salt-minion:

yum install salt-minion -y

修改minion的配置文件,添加master端信息:

vim /etc/salt/minion 
systemctl restart salt-minion
systemctl enable --now salt-minion

在这里插入图片描述3.查看端口连接
查看master端此时4505端口及4506端口的占有情况

yum install -y lsof
lsof -i :4505
lsof -i :4506

saltstac的简介和安装与配置_第6张图片此时的4505端口并没有与minion端建立通信,但4506端口已经进行了连接
这是因为master的4505端口需要认证,不能让所有minion都能连接,这样没有安全性。
此时minion端主机未通过认证,4505端口与其不能通信。

master端查看添加允许访问的主机:

salt-key -L #查看允许连接的主机
salt-key -A #允许所有minion端连接
salt-key -a server4 #添加指定主机

saltstac的简介和安装与配置_第7张图片saltstac的简介和安装与配置_第8张图片
此时master端和minion端会交换公钥

master主机的公钥在/etc/salt/pki/master下
saltstac的简介和安装与配置_第9张图片
在这里插入图片描述
minion主机的公钥在/etc/salt/pki/minion下
在这里插入图片描述
公钥的md5值相同:在这里插入图片描述
4.可能遇到的问题
当master端已经添加了minion主机后,如果minion主机修改了主机名,可能master端查看到的主机名依旧是原来的。

这是因为minion端的/etc/salt/minion_id记录着原本连接时的主机名,这是一个缓存文件。
所以把这个文件删除了就可以了。下次连接时这个文件会再次生成,记录新的主机名。
在这里插入图片描述

你可能感兴趣的:(企业实战,#,saltstack)