Puppet 组件

以下是 Puppet 的关键组件:

  • Manifests
  • Module
  • Resource
  • Factor
  • M-collective
  • Catalogs
  • Class
  • Nodes

让我们详细了解这些组件:

Manifests

Puppet Master包含Puppet Slave的配置细节,这些都是用Puppet的原生写的语言。

Manifest 只不过是指定 Puppet slave 的配置细节的文件。清单文件的扩展名是 .pp,意思是 Puppet Policy。这些文件由描述从站配置的 puppet 脚本组成。

Module

puppet 模块是一组清单和数据。这里的数据是文件、事实或模板。该模块遵循特定的目录结构。这些模块允许 puppet 程序拆分为多个清单。模块只是自包含的数据或代码包。

让我们通过下图来理解模块:

Puppet Components

Resource

Resources 是系统配置建模的基本单元。这些是在后端运行的预定义函数,用于在 puppet 中执行必要的操作。

每个 puppet 资源都定义了系统的某些元素,例如某些特定的服务或包。

Factor

因子收集有关傀儡奴隶的事实或重要信息。事实是键值数据对。它包含有关Nodes或主机的信息。它代表了一个傀儡客户端状态,例如操作系统、网络接口、IP 地址、正常运行时间以及客户端机器是否是虚拟的。

这些事实用于确定任何代理的当前状态。任何目标机器上的更改都是基于事实进行的。 Puppet 的事实是预定义和定制的。

 

M-Collective

M-collective 是一个框架,可以在多个 Slaves 上并行执行多个作业。该框架执行多种功能,例如:

 

  • 这用于与一群傀儡奴隶进行交互;他们可以是小组或非常大的部署。
  • 要传输需求,请使用广播模型。所有 Slaves 同时接收所有请求,请求附加过滤器,只有匹配过滤器的 Slaves 才能对请求进行操作。
  • 这用于在简单命令行工具的帮助下调用远程从站。
  • 这用于编写有关您的基础架构的自定义报告。

 

 

Catalogs

用Puppet编写的整个配置和清单文件都变成了编译格式。这种编译后的格式称为目录,然后我们可以将这个目录应用到目标机器上。

目录中描述了所有需要的从属资源状态。

 

Class

与其他编程语言一样,Puppet 也支持类以更好的方式组织代码。 Puppet class 是将各种资源组合成一个单元的集合。

 

Nodes

Nodes是安装 Puppet slaves 的位置,用于管理所有客户端和服务器。

许多组织都在使用 Puppet。使用 Puppet 的组织有不同类型和不同规模。许多组织采用 Puppet 的原因如下:一致性和可扩展性早期的基础设施经历了不寻常的增长,需要其基础设施跟上行业发展的步伐.但是基于脚本的解 ...