Saltstack 简明教程

SaltStack - Architecture

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

The architecture of SaltStack is designed to work with any number of servers, from local network systems to other deployments across different data centers. Architecture is a simple server/client model with the needed functionality built into a single set of daemons.

看看以下说明。它显示了 SaltStack 架构的不同组件。

Take a look at the following illustration. It shows the different components of SaltStack architecture.

salt diskusage
  1. SaltMaster − SaltMaster is the master daemon. A SaltMaster is used to send commands and configurations to the Salt slaves. A single master can manage multiple masters.

  2. SaltMinions − SaltMinion is the slave daemon. A Salt minion receives commands and configuration from the SaltMaster.

  3. Execution − Modules and Adhoc commands executed from the command line against one or more minions. It performs Real-time Monitoring.

  4. Formulas − Formulas are pre-written Salt States. They are as open-ended as Salt States themselves and can be used for tasks such as installing a package, configuring and starting a service, setting up users or permissions and many other common tasks.

  5. Grains − Grains is an interface that provides information specific to a minion. The information available through the grains interface is static. Grains get loaded when the Salt minion starts. This means that the information in grains is unchanging. Therefore, grains information could be about the running kernel or the operating system. It is case insensitive.

  6. Pillar − A pillar is an interface that generates and stores highly sensitive data specific to a particular minion, such as cryptographic keys and passwords. It stores data in a key/value pair and the data is managed in a similar way as the Salt State Tree.

  7. Top File − Matches Salt states and pillar data to Salt minions.

  8. Runners − It is a module located inside the SaltMaster and performs tasks such as job status, connection status, read data from external APIs, query connected salt minions and more.

  9. Returners − Returns data from Salt minions to another system.

  10. Reactor − It is responsible for triggering reactions when events occur in your SaltStack environment.

  11. SaltCloud − Salt Cloud provides a powerful interface to interact with cloud hosts.

  12. SaltSSH − Run Salt commands over SSH on systems without using Salt minion.

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

In the next chapter, we will learn in detail about the various competitors of SaltStack and their features.