当前位置: 首页 > article >正文

Linux-SaltStack基础

文章目录

      • SaltStack
        • SaltStack架构
        • SaltStack部署

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Linux专栏:点击!

⏰️创作时间:2025年02月24日18点59分

在这里插入图片描述

SaltStack

客户端服务端架构:C/S 架构

数据传输采用了AES高级加密保证安全性

认证采用SSL的一个方式

SaltStack以Salt项目为核心,主要包含两大功能模块

  • 配置管理系统
  • 分布式远程命令执行系统

SaltStack具备六大特征

  • 易用性
  • 并行执行
  • 成熟稳定
  • 易集成
  • 高性能——异步消息(zeroMQ)消息传递库,从而支持异步消息的传递,意味着处理大量任务时可以保持一个高效的性能
  • 开源
SaltStack架构

Salt master和Salt minion

  • SaltStack采用的是C/S架构,服务器运行的是 Salt-master 服务的 salt master,客户端运行了 Salt-minion 服务的 salt minion。

    Master 向 minion 发送命令,minion 向特定的 master 注册

  • saltStack 采用了发布/订阅的模式,master是任务的发布者,minion 则通过订阅的方式获取 master 发布的任务

Targets

  • ​ Master 将应当执行任务的一组 minion 定义为 Target

开放的事件系统

  • Event bus 用于事件管理系统中 master 和 minion 之间的内部通信
  • zeroMQ 和 Tornado 用于 minion 从事件管理系统订阅 Job 及执行结果的可插拔组件

Grains 和 pillar

  • Grains运行在minion中,收集minion的信息,如:OS、域名、IP地址等
  • Grains是静态数据,仅系统信息发生变化或用户自定义了某些参数后才会刷新
  • Pillar 存放着由 master 定义的动态数据,当需要时,再推进 minion

Beacons 和 reactors

  • Beacons 和 reactors 用于监控
  • Beacons 运行在 minion 中,故障出现时,会触发 reactors 来提供故障处理的帮助信息

Master与Minion的认证和通信

  • Master 与 Minion 之间通过公钥私钥进行认证
  • Master 与 Minion 之间通过 4505 和 4506 进行通信
    4505:发布任务
    4506:返回执行结果
    之间使用 AES 确保数据传输的安全性

每当 Master 重新启动,或者使用 salt-key 命令删除 Minion 的密钥的时候,都会生成一个新的 AES 密钥,并且所有链接的 Minioin,它都需要重新进行一个身份验证,以接收更新的密钥

这种机制确保了即使在密钥泄露的情况下也能保证系统的安全性

SaltStack部署
  • 安装前检查
  • 安装 salt-master 和 salt-minion
    bootstrap 安装:使用 saltStack 提供的脚本进行安装
    手动安装:使用 yum 源进行安装
  • 安装后配置
    在minion中配置要注册的 master
  • 启动服务
  • 配置 master 和 minion 之间的认证
  • 配置后检查

Master 和 Minion 重要配置

  • Master 配置文件默认 /etc/salt/master,同时包含了 /etc/salt/master.d 下所有的 .conf 文件
  • Minion 中关于 master 配置文件默认为 /etc/salt/master,同时包含了 /etc/salt/master.d 下所有 .conf 文件
  • Minion 中关于 Minion 配置文件默认为 /etc/salt/minion,同时包含了 /etc/salt/minino.d 下所有 .conf 文件
interface: 0.0.0.0    #接口地址(0表示不限制)
publish_port: 4505    #做链接端口,认证通信的一个端口,启动服务之前要去检查端口是否被占用
ret_port: 4506    #返回命令信息
pki_dir: /etc/salt/pki/master    #保留客户端发送过来的公钥文件的存放目录
file_roots:    #默认下面 base:/srv/salt/ 在saltstack master 节点通常负责管理和一些存储的一些文件默认文件夹

Master 和 Minion 的互信认证配置

master 上使用命令 salt-key 接收 minion 发来的密钥

  • -A:接收全部密钥
  • -D:删除全部密钥
  • -L:列出全部密钥
  • -a:接收指定密钥
  • -j:拒绝指定密钥
  • -d:删除指定密钥

http://www.kler.cn/a/560756.html

相关文章:

  • 【复习】Redis
  • 1.2 redis7.0.4安装与配置开机自启动
  • cpp的stl二分查找库函数
  • 蓝桥杯备赛-精卫填海-DP
  • Android KMP初探
  • AI驱动的自动化留给人类的时间不多了
  • Unity中点乘和叉乘对于我们来说的作用是什么?
  • VoIP之音频3A技术
  • 五、AIGC大模型_04LLaMA-Factory基础知识与SFT实战
  • 【LeetCodehHot100_0x01】
  • 图像处理案例06 OCR应用
  • WPF-Avalonia实践一两个页面的相关传递
  • 汽车零部件工厂如何通过ESD监控系统闸机提升产品质量
  • 【Unity】鱼群效果模拟
  • Android TextView 使用.9图片文字不展示
  • 蓝桥杯 2013 省 B 翻硬币
  • Stm32定时器输出PWM
  • 排序算法解析实现与时间复杂度分析
  • SQL笔记#数据更新
  • 微信小程序:完善购物车功能,购物车主页面展示,详细页面展示效果