news 2026/4/23 7:07:15

18、使用 Hiera 分离数据与代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
18、使用 Hiera 分离数据与代码

使用 Hiera 分离数据与代码

1. Hiera 后端插件 eyaml

eyaml 是一个特别受欢迎的后端插件,可通过hiera-eyamlRuby 宝石包获取。此后端允许在 YAML 数据中包含加密字符串,Puppet 在检索时会对数据进行解密。

2. 在清单中检索和使用 Hiera 值

在 Hiera 中查找键值很简单,Puppet 为此提供了一个非常直接的函数:

$plugins = hiera('reporting::plugins')

当编译器在当前代理节点的清单中遇到这样的调用时,会触发在层次结构中进行搜索。具体的数据源由hiera.yaml文件中的层次结构决定,几乎总是依赖代理提供的事实值来进行灵活的数据源选择。

如果在代理的层次结构中找不到指定的键,主节点会报错并中止目录编译。为防止这种情况,通常在查找时提供默认值是明智的:

$plugins = hiera('reporting::plugins', [])

在这种情况下,如果层次结构中未提及插件,Puppet 将使用空数组。另一方面,也可以有意省略默认值,这表明 Hiera 值是必需的。如果用户未能提供该值,Puppet 将中止清单编译。

3. 处理简单值

调用hiera函数检索值时,除了一个可选参数外,没有更多复杂的操作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 7:06:45

Stagehand实战指南:5个提升AI网页自动化效率的关键策略

Stagehand实战指南:5个提升AI网页自动化效率的关键策略 【免费下载链接】stagehand An AI web browsing framework focused on simplicity and extensibility. 项目地址: https://gitcode.com/GitHub_Trending/stag/stagehand 在当今AI驱动的开发环境中&…

作者头像 李华
网站建设 2026/4/23 7:05:41

Zephyr RTOS深度性能剖析:如何解决嵌入式系统开发的核心痛点

Zephyr RTOS深度性能剖析:如何解决嵌入式系统开发的核心痛点 【免费下载链接】zephyr Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures. 项目地址: https://…

作者头像 李华
网站建设 2026/4/14 10:12:43

中文手册页项目:Linux用户必备的中文文档解决方案

中文手册页项目:Linux用户必备的中文文档解决方案 【免费下载链接】manpages-zh 项目地址: https://gitcode.com/gh_mirrors/ma/manpages-zh 在Linux系统学习和使用过程中,英文手册页常常成为非英语母语用户的技术门槛。manpages-zh项目正是为解…

作者头像 李华
网站建设 2026/4/19 3:50:55

LeetCode 102/103/513 二叉树层序遍历(BFS)三类经典题解题总结

目录 一、基础:LeetCode 102. 二叉树的层序遍历(普通层序) 1. 核心思想:队列控层 左→右入队 2. 完整实现代码 3. 重点 & 难点 二、变种:LeetCode 103. 二叉树的锯齿形层序遍历 1. 核心思想:普通…

作者头像 李华
网站建设 2026/4/18 17:17:36

8倍提速+100种语言支持:Whisper Turbo如何重塑实时语音交互

8倍提速100种语言支持:Whisper Turbo如何重塑实时语音交互 【免费下载链接】whisper-large-v3-turbo 项目地址: https://ai.gitcode.com/hf_mirrors/openai/whisper-large-v3-turbo 导语 OpenAI推出的Whisper Large-V3-Turbo模型通过参数精简实现8倍速提升…

作者头像 李华