Puppet 文件服务器

17 Mar 2025 | 阅读 2 分钟

众所周知,Puppet 使用客户端和服务器模型,其中一个系统作为服务器(称为 Puppet 服务器),另一个系统作为客户端(称为 Puppet 代理或 Puppet 客户端)。文件服务器的这一特性允许在多个系统之间复制文件。Puppet 文件服务功能的这项功能是中央 Puppet 守护程序的一部分。Puppetmasterd 和客户端函数用于提供文件属性作为文件对象。

在上面的代码中,Puppet 的文件服务功能通过支持文件服务模块来抽象本地文件系统的拓扑结构。我们将在以下格式中指定文件服务模块

创建文件服务器

Puppet 服务器使用文件服务器将静态文件的输出传输到代理。如果我们需要提供更大的文件,这些文件不应该与模块一起,那么大多数文件可以通过模块提供服务,为此,您可以创建一个自定义文件服务器挂载点,并让 Puppet 从另一个目录提供这些文件。

步骤 1:创建一个 Puppet 可以访问的目录,并将需要导出的文件复制到该目录。

步骤 2:创建 fileserver.conf 并定义可以访问此目录的目录和主机。

定义文件服务器

Fileserver.conf 使用一次性文件格式,该格式类似于没有等号 (=) 符号的 INI 文件。它是一系列挂载点实例,每个实例包含

  • 一个由方括号包围的 [mount_point_name]。这是 puppet:/// URL 中用于此挂载点中的文件的名称。
  • 一个 path 指令,其中有一个磁盘上的绝对路径,或存储来自挂载点的文件的位置。
  • 一个 allow * 指令。

示例

在上面的示例中,我们创建了两个将从中提供文件的位置。第一个是 scripts 目录,第二个是 packages。这两个目录都可以创建在模块目录可用的相同位置下。要检查模块的位置,我们可以使用以下参数

现在,让我们看看 manifests,它用于访问由文件服务器提供的上述目录中的文件。


下一个主题Puppet 类