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&