Puppet 架构

2025年3月17日 | 阅读 3 分钟

Puppet 使用主从或客户端-服务器架构。 Puppet 客户端和服务器通过 SSL (安全套接字层) 互连,这是一个安全套接字层。 这是一个模型驱动的系统。

Puppet Architecture

这里,客户端被称为 Puppet 代理/从属/节点,服务器被称为 Puppet 主服务器。

让我们看看 Puppet 架构的组件

Puppet 主服务器

Puppet 主服务器以 Puppet 代码的形式处理所有与配置相关的过程。 它是一个基于 Linux 的系统,其中安装了 Puppet 主服务器软件。 Puppet 主服务器必须在 Linux 中。 它使用 Puppet 代理将配置应用于节点。

这是检查和标记 SSL 证书的地方。

Puppet 从属或代理

Puppet 代理是真正的运行系统,由客户端使用。 它安装在客户端机器上,由 Puppet 主服务器维护和管理。 它们内部运行着一个 Puppet 代理服务。

代理机可以配置在任何操作系统上,例如 Windows、Linux、Solaris 或 Mac OS。

配置存储库

配置存储库是存储所有服务器和节点相关配置的存储区域,我们可以根据需求提取这些配置。

事实

Facts 是键值数据对。 它包含有关节点或主服务器的信息。 它代表 Puppet 客户端状态,例如操作系统、网络接口、IP 地址、正常运行时间和客户端机器是否为虚拟。

这些 Facts 用于确定任何代理的当前状态。 对任何目标机器的更改都是基于 Facts 的。 Puppet 的 Facts 是预定义的,并且可以自定义。

目录

用 Puppet 编写的整个配置和清单文件被更改为编译格式。 这种编译格式被称为目录,然后我们可以将此目录应用于目标机器。

上图执行以下功能

  • 首先,代理节点将 Facts 发送到主服务器或服务器并请求目录。
  • 主服务器或服务器借助主服务器访问的一些信息编译并返回节点的目录。
  • 然后,代理通过检查目录中提到的每个资源将目录应用于节点。 如果它识别出处于非所需状态的资源,则进行必要的调整以修复它们。 或者,它在 no-op 模式下确定需要进行哪些调整以协调目录。
  • 最后,代理将报告发送回主服务器。

Puppet 主从通信

Puppet 主从通过安全加密通道通过 SSL (安全套接字层) 进行通信。 让我们看下面的图表以了解主服务器和从属服务器之间通过此通道的通信

Puppet Architecture

上图描述了以下内容

  • Puppet 从属请求 Puppet 主服务器证书。
  • Puppet 主服务器响应客户端请求,将主服务器证书发送给 Puppet 从属。
  • Puppet 主服务器请求 Puppet 从属服务器获取从属服务器证书。
  • Puppet 从属服务器将请求的从属服务器证书发送给 Puppet 主服务器。
  • Puppet 从属服务器向 Puppet 主服务器发送数据请求。
  • 最后,主服务器根据请求将数据发送到 Puppet 从属服务器。

下一主题Puppet 组件