SaltStack - 架构


SaltStack 的架构旨在与任意数量的服务器配合使用,从本地网络系统到跨不同数据中心的其他部署。架构是一个简单的服务器/客户端模型,其所需的功能内置于一组守护程序中。

看看下面的插图。它展示了 SaltStack 架构的不同组件。

盐盘使用
  • SaltMaster - SaltMaster 是主守护进程。SaltMaster 用于向 Salt Slave 发送命令和配置。一个master可以管理多个master。

  • SaltMinions - SaltMinion 是从属守护进程。Salt Minion 接收来自 SaltMaster 的命令和配置。

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

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

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

  • Pillar - 支柱是一个生成和存储特定于特定 Minion 的高度敏感数据的接口,例如加密密钥和密码。它将数据存储在键/值对中,并且数据的管理方式与盐状态树类似。

  • 顶部文件- 将 Salt 状态和支柱数据与 Salt Minions 相匹配。

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

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

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

  • SaltCloud - Salt Cloud 提供了与云主机交互的强大界面。

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

在下一章中,我们将详细了解 SaltStack 的各个竞争对手及其特性。