SaltStack(现称为Salt Project)是一款开源的自动化运维工具,专注于 配置管理、远程任务执行 和 基础设施即代码。它基于Python开发,采用C/S架构,以高效、灵活和可扩展著称,尤其适合大规模服务器环境的管理。
核心概念与架构
-
Master与Minion
- Master:控制中心,负责下发指令和管理所有Minion。
- Minion:被控节点,接收Master指令并执行任务。
- 通信基于ZeroMQ或RAET协议,默认使用AES加密。
-
Salt SSH
- 无代理模式,无需安装Minion,直接通过SSH管理节点,适合临时或受限环境。
核心组件
-
Grains
- 作用:静态数据收集,如操作系统、IP、硬件信息。
- 使用:Minion启动时自动采集,可用于条件判断。
- 示例:
salt '*' grains.item os
获取所有节点的操作系统信息。
-
Pillar