saltstack基本概念及其工作原理

saltstack的原理,架构,安装 1.saltstack原理概述 1.1.简介 saltstack是一个服务器基础架构集中化管理平台,是一个可以配置管理系统,能维护预定状态的远程节点,是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 1.2.特点 图片基于python开发的c/s架构配置管理工具,易于扩展 图片底层使用zeromq消息队列pub/sub方式通信 图片使用ssl证书签发的方式进行认证管理,传输采用AES加密 图片管理方便、功能覆盖广、配置简单、支持大部分的操作系统 1.3.saltstack端口 安装好salt 阅读详情

1、概念

SaltStack 是一种基于 C/S 架构的服务器基础架构集中化管理平台,通过管理端下发指令,客户端接受指令的方式进行操作,管理端称为 Master,客户端称为 Minion。SaltStack 具备配置管理、远程执行、监控等功能,一般可以理解为是简化版的 Puppet 和加强版的 Func。SaltStack 本身是基于 Python 语言开发实现,结合了轻量级的消息队列软件 ZeroMQ 与 Python 第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack 和 PyYAML 等)构建,通过部署 SaltStack 环境,运维人员可以在成千上万台服务器上做到批量执行命令,根据不同的业务特性进行配置集中化管理、分发文件、采集系统数据及软件包的安装与管理等。

  • ZeroMQ 是一款消息队列软件,SaltStack 通过消息队列来管理成千上万台主机客户端,传输指令执行相关的操作。而且采用 RSA key 方式进行身份确认,传输采用 AES 方式进行加密,这使得它的安全性得到了保证

2、特性

  • 部署简单、管理方便;
  • 支持大部分的操作系统,如 Unix/Linux/Windows 环境;
  • 架构上使用C/S管理模式,易于扩展;
  • 配置简单、功能覆盖广;
  • 主控端(Master)与被控端(Minion)基于证书认证,确保安全可靠的通信;
  • 支持 API 及自定义 Python 模块,轻松实现功能扩展;

3、saltstack工作原理

SaltStack 客户端(Minion)在启动时,会自动生成一套密钥,包含私钥和公钥。之后将公钥发送给服务器端,服务器端验证并接受公钥,以此来建立可靠且加密的通信连接。同时通过消息队列 ZeroMQ 在客户端与服务端之间建立消息发布连接

  • Minion 是 SaltStack 需要管理的客户端安装组件,会主动去连接 Master 端,并从 Master 端得到资源状态信息,同步资源管理信息。
  • Master 作为控制中心运行在主机服务器上,负责 Salt 命令运行和资源状态的管理。
  • ZeroMQ 是一款开源的消息队列软件,用于在 Minion 端与 Master 端建立系统通信桥梁。
  1. ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩
  • Daemon 是运行于每一个成员内的守护进程,承担着发布消息及通信端口监听的功能。

saltstack工作方式:

  • Minion 是 SaltStack 需要管理的客户端安装组件,会主动去连接 Master 端,并从 Master 端得到资源状态信息,同步资源管理信息。
  • Master 作为控制中心运行在主机服务器上,负责 Salt 命令运行和资源状态的管理。
  • Master 上执行某条指令通过队列下发到各个 Minions 去执行,并返回结果。

saltstack工作流程:

  • SaltStack 的 Master 与 Minion 之间通过 ZeroMq 进行消息传递,使用了 ZeroMq 的发布订阅模式,连接方式包括 TCP 和 IPC。
  • Salt 命令,将 cmd.run ls 命令从 salt.client.LocalClient.cmd_cli 发布到 Master,获取一个 Jodid,根据 jobid 获取命令执行结果。
  • Master 接收到命令后,将要执行的命令发送给客户端 minion。
  • Minion 从消息总线上接收到要处理的命令,交给 minion._handle_aes 处理。
  • Minion._handle_aes 发起一个本地线程调用 cmdmod 执行 ls 命令。线程执行完 ls 后,调用 Minion._return_pub 方法,将执行结果通过消息总线返回给 master。
  • Master 接收到客户端返回的结果,调用 master.handle_aes 方法将结果写的文件中。
  • Salt.client.LocalClient.cmd_cli 通过轮询获取 Job 执行结果,将结果输出到终端。

本文转载自:https://www.ibm.com/developerworks/cn/opensource/os-devops-saltstack-in-cloud/index.html#N100A5

 

 

 

 

 

 

SALTSTACK自动化运维管理------(SALTSTACK的简介和基本原理、saltstack的安装与配置、saltstack的远程执行) SALTSTACK自动化运维管理 1.SALTSTACK的简介 saltstack是一个服务器基础构架集中化管理平台具备配置管理,远程执行,监控等功能,基于python实现,结合轻量级消息队列(ZeroMQ)与python第三方模块(Pyzmq,PyCrypto,PyYAML等)构建。 通过部署saltstack,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理,分发文件,采集服务器数据,操作系统基础及软件包管理等,它是运维人员提高工作效率,规范业务配置与操作的利器。 2.sal 阅读详情

相关推荐

从0到1之saltstack:1. 基本概念和通信流程

saltstack简介 salt定位 saltstack, 简称salt, 是有Thomas Hatch先生于2011年创建的一个开源项目,最初是为了实现一个快速的远程控制系统,后来逐步发展成为如今的基于配置管理和分布式远程执行系统的强大平台。 通过一台master即可远程管理成千上万的服务器 基本架构 salt是基于python实现的C/S架构平台,底层使用ZeroMQ消息队列pub/sub方式通信。主要的机器角色有三种:master、minion以及syndic。其中使用最多的是master和minio

IT小平猿 2653

Linux之SaltStack

环境: server11:192.168.1.21 server12:192.168.1.22 server13:192.168.1.23 master:server11 minion:server12、server13 所有主机firewalld、selinux均关闭 一、saltstack简介 saltstack是一个配置管理系统,能够维护预定义状态的远程节点 saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据 saltstack是运维人员提高工作效.

Rainable 617

SaltStack工作原理及安装配置实例详解.docx

SaltStack工作原理及安装配置实例详解.docx

自动化运维工具--saltstack部署及使用

介绍saltstack的安装连接及使用

云计算之路 5708

从数据手册到代码:一步步解读SC7A20寄存器配置与加速度值换算原理

本文详细解析了SC7A20三轴加速度传感器的寄存器配置与加速度值换算原理。从数据手册出发,逐步拆解关键寄存器设置,并推导原始ADC值到物理加速度的完整换算过程,帮助开发者深入理解传感器底层工作原理,提升嵌入式开发效率。

weixin_29179311的博客 366

风控IV、AUC、KS python计算代码

df_temp:数据集,Y:是否逾期标签,feas_list:需要计算IV的 变量。2、 按月和不同Y 下的 IV计算。

暮雨听轩的专栏 1618

2024版最新148款CTF工具整理大全(附下载安装包)含基础环境、Web 安全、加密解密、密码爆破、文件、隐写、逆向、PWN等全套工具

经常会有大学生粉丝朋友私信大白,想通过打CTF比赛镀金,作为进入一线互联网大厂的门票。但是在CTF做题很多的时候都会用到工具,所以在全网苦寻CTF比赛工具安装包!

Libra1313的博客 1万+

ROS基础(一)——命令行代码(以小乌龟程序为例)

ROS学习(一)——命令行代码(以小乌龟程序为例)1 基础命令行语句1.1 roscore1.2 rqt_graph(显示系统计算图)1.3 rosnode(显示所有节点相关信息)1.4 rostopic(和话题相关)2 服务类型指令rosservice同时存在两只海龟3 指令记录 1 基础命令行语句 从大二四旋翼无人机编队后就没再接触过ROS了,最近由于科研任务需要重新捡起来,打算系统学一下!学习过程参考古月居老师的视频,有兴趣的同学可以去[BliBli]学习。 学习平台:Ubuntu 18.04 硬件

北理自动化小白 6263

SaltStack 的基本概念与工作原理 架构设计

随着云计算技术的快速普及与发展,越来越多的企业开始学习和搭建自己的云平台代替传统的 IT 交付模式,企业的 IT 环境也随之越来越复杂,常规的运维方法与技术已经无法满足现在云环境中系统的配置与变更。基于云计算的发展,大数据、认知技术及容器技术也在企业中得到了越来越多的应用,大量...

267

Matplotlib字体警告终结者:为什么总提示DejaVu Sans?5种场景解决方案大全

本文深入解析Matplotlib中常见的DejaVu Sans字体警告问题,并提供5种典型场景的完整解决方案。从理解字体系统的三层架构和缓存机制,到解决中文显示、远程服务器部署、TeX渲染、缓存优化及生产环境配置等实际问题,帮助开发者彻底摆脱字体警告困扰,实现稳定可靠的数据可视化。

view3的博客 500

基于STM32+OneNet设计的物联网智慧路灯(100)

本次设计的智能路灯采用STM32芯片和OneNet物联网平台进行连接,开发出支持太阳能充电锂电池供电、GPS定位上传位置信息、手动/自动控制路灯开关、环境光照调节、红外传感器检测周围人员、空气质量监测等多项功能。同时,当路灯发生异常情况时,系统可以自动发送邮件或短信到指定邮箱或电话。

7725

SaltStack基础

SaltStack介绍 SaltStack是一种新型的基础设施管理软件,简单易部署,可伸缩的足以管理成千上万的服务器,和足够快的速度控制,与他们交流,以毫秒为单位。SaltStack提供了一个动态基础设施通信总线用于编排,远程执行、配置管理 常用的自动化管理工具: ansible: 特性 模块化:调用特定的模块,完成特定任务。 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块。 支持自定义模块。 基于Python语言实现。 部署简单,基于python和SSH(默认已安装),agentl

z07121的博客 451

腾讯开源SuperSonic:AI+BI如何重塑数据分析?

SuperSonic是腾讯开源的AI+BI平台,融合Chat BI与Headless BI,为制造企业提供实时数据分析。它通过自然语言交互打破数据壁垒,实现生产、库存、质量、供应链等多环节优化,提升决策效率,其开源生态与扩展性助力企业数字化转型与数据价值挖掘。

数据与算法架构提升之路专栏 4538

Saltstack一键部署zabbix监控平台

文章目录一、saltstack部署 一、saltstack部署

qiao_qing的博客 849

C/C++跳动的爱心(完整代码)

C语言实现跳动的爱心的完整代码。

AIGC 5842

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2621

SaltStack--快速入门

SaltStack--快速入门 saltstack快速入门# saltstack介绍# Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯 主要功能 远程执行 配置管理Stalstack官方文档 Saltstack原理# Salt使用server-agent通信模型,服务端组件被称为Salt master,agent被称为Salt minionSalt master主要负责向Salt minions发送命令,然后聚

qq_32421489的博客 201

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

自动化运维工具saltstack的安装与部署(1)

Saltstack 简介 • Saltstack是基于python开发的一套C/S架构配置管理工具 • 使用SSL证书签方的方式进行认证管理 • 底层使用ZeroMQ消息队列pub/sub方式通信 – 号称世界上最快的消息队列ZeroMQ能快速在成千上万台主机上进行各种操作 – 采用RSA Key方式确认身 主要功能: • Saltstack最主要的两个功能是:配置管理与远程执行 ...

Logbook的博客 753

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

linux saltstack 原理,saltstack

系统管理员(CLP SA)软件架构师(Software Architectrue)系统分析师,英文System Analyst,简称SA。数据库管理员(Database Administrator,简称DBA)Linuxpuppet 是一种Linux、Unix、Windows平台的集中配置管理系统,运维人员或者系统管理员可以通过使用 puppet 来处理所有的管理细节。希望通过本专题的学习,大家能...

weixin_36145482的博客 210

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

saltstack自动化运维工具学习

1、salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统。 2、salt强大之处 系统管理员日常会进行大量的重复性操作,例如安装软件,修改配置文件,创建用户,批量执行命令等等。如果主机数量庞大,单靠人工维护实在让人难以忍受。 早期运维人员会根据自己的生产环境来写特定脚本完成大量重复性工作,这些脚本复杂且难以维护。系统管理员面临的问题主要是1、系统配置管理,2、远程执行命令,因此诞生了很多开源软件,系统维护方面有fabric、pu

qq_42971895的博客 539

Saltstack中Pillar那点事

Salt中Pillar那点事基本简介在 SaltStack 中, Pillar作为定义minion全局数据的接口. 默认存储在master端, Minion启动时会连接master获取最新的pillar数据. Pillar使用类似于State Tree的结构, 默认使用 YAML 作为其描述格式, 在Minion内部最终转换成 Python字典 .那么在Salt内部, Pil...

weixin_34397291的博客 216

SaltStack简介

SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集...

Nicholas的专栏 1万+

1.saltstack使用指南:saltstack的介绍和安装

saltstack的介绍和安装saltstack介绍salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯。saltstack 和puppet的都是进行自动化运维的工具,通过对两者的对比可以发现,puppet强调一切的配置都是资源与资源之间的关系,而且具有严格的配置规范,对于新手来说有一定的学习阻力,salt除了可以进行服

linux_player_c(系统&开发) 5185

saltstack高效运维简介和部署,SaltStack 与 Ansible 如何选择?

SaltStack简介、服务架构、功能与运行方式、常用组件介绍、部署

Jivove的博客 1414

SaltStack

Salt,一种全新的基础设施管理方式,部署轻松,在几分钟内可运行起来,扩展性好,很容易管理上万台服务器,速度够快,服务器之间秒级通讯主要功能:远程执行。

myneth的博客 1348

SaltStack 部署

从Salt master接收命令和配置从命令行针对一个或多个受管系统执行的临时命令。对…有用:实时监控,状态和库存一次性命令和脚本部署关键更新系统配置的声明性或命令式表示Grains是有关底层受管系统的静态信息,包括操作系统,内存和许多其他系统属性。用户定义的变量。这些安全变量被定义并存储在Salt Master中,然后使用目标“分配”给一个或多个Minion。Pillar数据存储诸如端口,文件路径,配置参数和密码之类的值。

2401_85764455的博客 1554
上一篇: redis部署实现主从同步,高可用,单机集群
下一篇: saltstack最最基础的东西(grains,pillar)
SS_CC_Go
博客等级 码龄9年 16粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值