12、Puppet 模块开发与使用全攻略

Puppet 模块开发与使用全攻略

1. Cacti 模块供应期间的健壮性处理

Cacti 模块存在一个小问题。它是自给自足的,负责 Cacti 的安装和配置。但在 Puppet 首次运行时,cacti 包及其 CLI 不可用,代理会判定 cli 提供者不合适。由于它是 cacti_device 类型的唯一提供者,在 cacti 包同步之前同步的该类型资源会失败。

对于定义类型 cacti::device,可以为内部资源添加 require 元参数。对于原生类型实例,可以使用 autorequire 功能。就像文件自动依赖其所在目录一样,Cacti 资源应依赖 cacti 包的成功同步。在 cacti_device 类型中添加以下代码:

autorequire :package do 
  catalog.resource(:package, 'cacti') 
end

2. 通过事实增强 Puppet 的系统知识

自定义事实是 Puppet 中很有用的功能。这里以 Cacti 模块为例,聚焦于原生 Ruby 事实,它比外部事实更具可移植性。事实属于 Puppet 插件,位于 lib/facter/ 子树中。

对于 cacti 模块的用户,了解给定 Cacti 服务器上可用的图形模板列表可能会有帮助。可以通过一个事实传递完整列表。使用 Facter 2.x 时,可以将列表作为数组处理;若要与 Facter 1.x 兼容,事实值应为列表的字符串表示,通常是所有列表值的逗号分隔连接。

以下代码在 cacti/lib/facte

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值