Puppet 类型和提供程序2024 年 8 月 29 日 | 4 分钟阅读 Puppet 类型Puppet 类型管理各个配置项。Puppet 提供了 package 类型、user 类型、service 类型。每个类型都支持提供程序。在 Puppet 中,有两种类型的类型 已定义类型: 此类型是用 Puppet 的 DSL(领域特定语言)编写的。 在这里,custom_user 是一个资源,而 $ensure、$home 是属性。这种已定义的类型可以被使用,而无需担心实现资源 原生类型: 原生类型是用 Ruby 语言编写的。借助原生类型,我们可以确定资源接口,就像 Puppet DSL 中的关键字“define”与类型 API 集成一样。 原生类型也称为 Ruby 类型。与已定义的类型不同,Ruby 类型依赖于提供程序来处理用于处理相应系统的过程。 提供者提供程序处理在另一个平台或工具上的配置管理。提供程序实现该过程,并且这些过程用于管理资源。 一个资源有一组属性,而提供程序用于管理该资源。此外,我们可以为单个类型实现多个提供程序。这些提供程序允许将类似的资源应用于不同的操作系统。 对于任何原生类型,Puppet 都提供了几种不同的提供程序。例如,Puppet 的 user 类型有八个提供程序,它们支持各种 Linux 和 Windows 平台。 Package 类型有不同的提供程序,例如 DMG、yum、aptitude 和 RPM。您可以通过以下命令查看系统中 package 类型的提供程序列表 Puppet 类型和提供程序是用 Ruby 语言编写的。让我们创建一个名为 repo 的简单 Puppet 类型,用于管理存储库和提供程序,例如 SVN 和 Git。repo 类型的第一个元素是类型本身,这些类型通常位于 lib/puppet/type 中,或者由模块分发。首先,创建一个名为 repo.rb 的文件。 并将以下内容复制到文件中 在上面的代码中,我们创建了一个块,即 Puppet:: Type.newtype(: repo) do,它创建一个新类型,我们将其称为 repo。我们提到了 @doc,,它是该类型的文档部分。我们还定义了一个 ensurable 语句,它创建了一个基本的“ensure”属性。Puppet 类型使用此“ensure”属性来获取配置项的状态。 示例 ensure 语句通知 Puppet 预期在提供程序中具有三种方法
现在,指定这些方法的内容,Puppet 就会围绕它们构建支持系统。 现在,定义一个名为 source 的新参数 source 参数将通知 repo 类型在哪里下载、克隆或搜索我们的源存储库。上面的脚本声明,如果 source 参数以 git 开头,则使用 Git 提供程序,如果不是,则默认为 Subversion 提供程序。 再定义一个名为 path 的参数 Subversion 提供程序 接下来,将提供程序定义为一个块 代码块通知 Puppet 这是一个名为 svn 的类型 repo 提供程序。接下来,定义此提供程序将使用的命令 在 Puppet 中,这些命令用于评估该提供程序是否适合在客户端上使用。如果 Puppet 无法在本地路径中获取这些命令,则将禁用该提供程序。 现在,我们可以生成一个资源 下一个主题Puppet 模板 |
我们请求您订阅我们的新闻通讯以获取最新更新。