SaltStack 架构



SaltStack 的架构设计可以与任意数量的服务器一起工作,从本地网络系统到跨不同数据中心的其它部署。该架构是一个简单的服务器/客户端模型,其所需的功能内置于一组守护进程中。

请查看下图。它显示了 SaltStack 架构的不同组件。

Salt disk.usage
  • SaltMaster − SaltMaster 是主守护进程。SaltMaster 用于向 Salt 从属发送命令和配置。单个主服务器可以管理多个从属服务器。

  • SaltMinions − SaltMinion 是从属守护进程。Salt minion 从 SaltMaster 接收命令和配置。

  • 执行 − 从命令行针对一个或多个 minion 执行模块和临时命令。它执行实时监控。

  • 公式 (Formulas) − 公式是预先编写的 Salt 状态。它们与 Salt 状态本身一样开放,可用于安装包、配置和启动服务、设置用户或权限以及许多其他常见任务。

  • Grains − Grains 是一个接口,提供特定于 minion 的信息。通过 grains 接口可用的信息是静态的。Salt minion 启动时加载 Grains。这意味着 grains 中的信息是不变的。因此,grains 信息可能是关于正在运行的内核或操作系统的。它不区分大小写。

  • Pillar − Pillar 是一个接口,用于生成和存储特定于某个 minion 的高度敏感数据,例如加密密钥和密码。它以键值对存储数据,数据管理方式与 Salt 状态树类似。

  • 顶部文件 (Top File) − 将 Salt 状态和 pillar 数据与 Salt minion 匹配。

  • Runners − 它是一个位于 SaltMaster 内部的模块,执行诸如作业状态、连接状态、读取外部 API 的数据、查询已连接的 salt minion 等任务。

  • Returners − 将数据从 Salt minion 返回到另一个系统。

  • Reactor − 它负责在 SaltStack 环境中发生事件时触发反应。

  • SaltCloud − Salt Cloud 提供了一个强大的接口来与云主机交互。

  • SaltSSH − 在不使用 Salt minion 的系统上通过 SSH 运行 Salt 命令。

在下一章中,我们将详细了解 SaltStack 的各种竞争对手及其功能。

广告