12、使用模块扩展Puppet基础设施
2026/6/10 7:35:42 网站建设 项目流程

使用模块扩展Puppet基础设施

1. 用原生类型替换自定义类型

创建一个带有匹配提供者(或多个提供者)的自定义资源类型并非易事,需要经历以下步骤:
1. 为类型命名
2. 创建资源类型的接口
3. 设计合理的参数钩子
4. 使用资源名称
5. 添加提供者
6. 声明管理命令
7. 实现基本功能
8. 允许提供者预取现有资源
9. 在配置期间使类型更健壮

2. 为类型命名

原生类型和自定义类型在命名上有重要区别。自定义类型基于清单,有模块命名空间,而原生类型使用简单名称,所有已安装模块的原生类型可自由混合。例如,将cacti::device的原生实现命名为device是不明智的,因为这很容易与其他模块中的设备概念冲突,所以第一个资源类型命名为cacti_device是比较合适的。

该类型必须在cacti/lib/puppet/type/cacti_device.rb中完全实现,所有钩子和调用都包含在Type.newtype块中:

Puppet::Type.newtype(:cacti_device) do @doc = <<-EOD Manages Cacti devices. EOD end

@doc中的文档字符串应被视为

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询