深入探索Chef:资源修改、插件创建与环境变量设置
1. 资源修改
在Chef中, resources 方法可用于检索给定资源。例如,我们可以在编译阶段修改资源的属性,如下所示:
resources("execute[Force sync hardware clock with system clock]").
command "hwclock --systohc -D"
这种资源修改发生在编译阶段,只有在Chef评估完整个菜谱后,才会执行编译阶段构建的所有资源。需要注意的是,这种修改方式类似于Ruby中的猴子补丁,可能会导致代码变得脆弱,因为代码依赖于其他代码的实现细节而非公共接口。建议将此类菜谱修改放在单独的位置,以便后续查找和调试。
2. 创建自定义Ohai插件
Ohai是Chef客户端用于收集节点环境信息的工具。我们可以编写自定义Ohai插件来查询节点环境的额外属性。以下是一个查询当前活动防火墙规则并将其作为节点属性的示例:
2.1 准备工作
- 确保节点上安装了
iptables。 - 确保有
chef-client菜谱可用:
1. 将chef-client菜谱添加到Berksfile:
mma@laptop:
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



