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 程序拆分为多个清单。模块只是自包含的数据或代码包。
让我们通过下图来理解模块:
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 的原因如下:一致性和可扩展性早期的基础设施经历了不寻常的增长,需要其基础设施跟上行业发展的步伐.但是基于脚本的解 ...