You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Hiera层级为zmb-前缀服务器配置(Puppet 4.10.10)

Puppet Hiera层级配置问题解答

用户问题:

现有200台服务器,需为其中100台应用特定配置,这批服务器仅有的共同点是名称前缀均为zmb-。请问在hiera.yaml的:hierarchy:部分应做何修改?使用的Puppet版本为4.10.10。

解答:

其实要给出完全贴合你需求的Hiera层级修改方案,还需要你补充两个关键信息:一是你要给这100台节点配置的具体数据内容是什么,二是你为什么认为这个需求应该通过Hiera来解决,而不是直接用Puppet清单处理呢?

不过我可以先给你一个非常基础的示例参考,帮你理解思路:

假设你原本的hiera.yaml层级配置是这样的:

:hierarchy:
  - "nodes/%{trusted.certname}"
  - "common"

你可以添加一个基于主机名前缀的层级条目,利用Puppet的regsubst函数提取主机名的前缀部分,修改后的层级会是:

:hierarchy:
  - "nodes/%{trusted.certname}"
  - "prefixes/%{regsubst(trusted.certname, '^(zmb-).*$', '\\1')}"
  - "common"

这样配置后,所有主机名以zmb-开头的节点,会优先加载prefixes/zmb-.yaml(或者对应目录下的配置文件)里的特定配置,之后才会应用common里的通用配置。

需要注意的是,这只是最基础的场景方案,实际的层级调整还得结合你要配置的数据类型、现有Hiera的结构来优化,如果你能提供更多细节,就能给出更精准的方案啦。

内容的提问来源于stack exchange,提问作者yodog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:04:40