Puppet 模块

Puppet 模块是文件、类、模板和资源的集合。每个模块处理基础架构中的特定任务,例如安装和配置软件。

由于模块允许您将代码划分为多个清单,因此它非常有助于组织您的傀儡代码。模块是 puppet 中可重用和可共享的单元。

模块必须安装在 puppet 模块路径中。而模块路径是/etc/puppet/modules目录。

模块配置

我们在任何Puppet模块中都有两个分区,这允许我们定义编码和控制面额。

  • 模块搜索路径在 puppetmasterd 或 masterd 中配置,并使用以冒号分隔的目录列表。其他部分使用 modulepath 参数进行配置。 即:
[puppetmasterd] 
... 
modulepath = /var/lib/puppet/modules:/data/puppet/modules
  • 第二个分区是 fileserver.conf 中文件服务器模块的访问控制设置。我们不需要为那个模块指定路径,如果你指定了路径,它会给出警告。

模块源

Puppet 允许使用不同的位置来存储模块。我们可以将模块存储在我们机器的不同文件系统中。只有一个条件,模块的所有路径都必须在名为 modulepath 的配置变量中定义。 modulepath 是一个路径变量,puppet 搜索所有模块目录并在启动时加载所有模块目录。

默认路径是:

/etc/puppet/modules:/usr/share/puppet:/var/lib/modules

模块内部组织

在 Puppet 中创建新模块时,它使用相同的结构,并添加以特定目录结构组织的分布式文件、清单、模板和插件,如下面的代码所示。

MODULE_PATH/ 
   downcased_module_name/ 
      files/ 
      manifests/ 
         init.pp 
      lib/ 
         puppet/ 
            parser/ 
               functions 
            provider/ 
            type/ 
         facter/ 
      templates/ 
      README

创建模块后,它会在清单目录中的特定修复位置添加 init.pp 清单文件。 init.pp 是一个默认文件,它首先在任何模块中运行,并包含与该模块相关的所有类的列表。

示例

让我们看一个示例创建一个 autofs 模块,用于安装固定的 auto.homes 映射并从模板生成 auto.master:

class autofs { 
   package { autofs: ensure => latest } 
   service { autofs: ensure => running } 
   
   file { "/etc/auto.homes": 
      source => "puppet://$servername/modules/autofs/auto.homes" 
   } 
   file { "/etc/auto.master": 
      content => template("autofs/auto.master.erb") 
   } 
}

文件系统会有以下文件:

MODULE_PATH/ 
autofs/ 
manifests/ 
init.pp 
files/ 
auto.homes 
templates/ 
auto.master.erb

安装 Puppet 模块

开源 Puppet 有许多预先存在的模块。这些模块由傀儡社区编写和开发。任何人都可以更新预先存在的模块。这些是任何人都可以下载、安装和使用的内置公共模块。 Puppet Forge 中有超过 6,000 多个预先存在的模块。

让我们看看下载和安装这些预先存在的 Puppet 模块的步骤。

在这里,我们将从 Puppet Forge 下载 vim 模块。 Vim 可在 Linux 操作系统 中的免费开源文本编辑器包中使用。

第一步: 点击这里打开官方Puppet伪造页面。

当你点击链接时,它会显示以下页面:

Puppet Modules

第 2 步: 在搜索栏中,输入要下载的模块的名称。在这里,我们将下载 vim 模块:

Puppet Modules

步骤 3: 当您点击搜索按钮时,它会显示多个结果。选择合适的。要决定您的选择,您可以单击单个模块以查看完整的详细信息。在我们的例子中,我们将使用 dhoppe vim。

Puppet Modules

第 4 步: 要下载模块,请点击页面右侧的下载按钮,我们将获得 tarball 格式的模块。

Puppet Modules

步骤 5: 下载完成后,执行以下命令从 tarball 安装模块:

puppet module install /path/dhoppe-vim-1.4.1.tar.gz

在上面的命令中,'path'是你的tarball所在目录的路径。

我们也可以在线安装puppet模块。

下载和从puppet模块工具安装模块,执行如下命令:

 puppet module install dhoppe-vim--version 1.4.1 

木偶模块

在 Puppet 中,我们可以在 Facter 的帮助下将多个值作为环境变量。 Facter 是 puppet 的一个工具,用来保持环境级别的变量。它就像 Bash 或 Linux。有时存储在 ...