Puppet 清单

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

在 puppet 中,所有程序都使用 Ruby 编程语言编写,并添加了 .pp 扩展名,这被称为清单。 .pp 的全称是 puppet 程序。

清单文件是 puppet 程序。 它用于管理目标主机系统。 所有 puppet 程序都遵循 puppet 编码风格。

我们可以在任何清单中使用一组不同类型的资源,这些资源按定义和类进行分组。

Puppet 清单还支持条件语句。 默认清单文件位于 /etc/puppet/manifests/site.pp 位置。

清单组件

Puppet 清单具有以下组件

  • 文件: 文件是可以直接部署在您的 puppet 客户端上的纯文本文件。 例如 yum.conf、httpd.con 等。
  • 资源: 资源是我们需要评估或更改的元素。 资源可以是软件包、文件等。
  • 模板: 这用于在节点上创建配置文件,我们稍后可以重用它们。
  • 节点: 代码块,其中定义了与客户端相关的所有信息和定义。
  • 类: 类用于对不同类型的资源进行分组。

编写清单

使用变量

Puppet 提供了许多内置变量,我们可以在清单中使用它们。 此外,我们还可以创建自己的变量来在 puppet 清单中定义。 Puppet 提供了不同类型的变量。 一些常用的变量是字符串或字符串数组。

让我们看一个字符串变量的例子

使用循环

循环用于多次运行同一组代码,直到定义的条件为真。 为了执行循环,我们可以使用一个数组。 让我们看一个例子

使用条件语句

Puppet 允许我们使用不同类型的条件语句。 例如 if-else 语句、case 语句等。让我们看一个例子

示例

编写清单

如我们所知,我们可以创建我们的资源。 让我们从常见资源开始,例如通知资源。

在上面的代码中,notify 是资源,而 message 是属性。 message 具有属性,这些属性与它们的值用逗号分隔,这是一种在 RubyPHPPerl 和其他脚本语言中标识键值对的非常通用方法。

创建一个清单并将上面的脚本写在该清单中。 为此,首先,您必须切换到 root 用户。


Puppet Manifest
Puppet Manifest

在这里,我们可以看到清单是扩展名为 .pp 的文本文件。 我们可以使用任何编辑器来使用任何文本编辑器创建或修改清单。

应用清单

puppet 的主要优点是代码的易于测试。 在这里,要处理 puppet 清单,无需配置复杂的测试环境。

要应用清单,puppet 使用 apply 命令,它告诉 puppet 应用单个 puppet 清单


Puppet Manifest

在这里,您可以看到,Puppet 已经成功应用了清单。 此过程分几个步骤完成

  • 从清单中编译或构建 Puppet 目录。
  • 使用依赖性和排序信息来决定评估顺序。
  • 评估所需的资源以决定是否应实施更改。
  • 创建、更新或删除资源 - 将在通知中生成一条消息。
  • 提供有关目录应用的详细输出。

下一主题Puppet 模块