4.6. Puppet:为单个节点自定义 Hieradata


您可以使用 Heat 模板集合为单个节点设置 Puppet hieradata。要达到此目的,您需要获取作为节点内省数据的一部分保存的系统 UUID:

$ openstack baremetal introspection data save 9dcc87ae-4c6d-4ede-81a5-9b20d7dc4a14 | jq .extra.system.product.uuid
Copy to Clipboard Toggle word wrap

这会输出系统 UUID。例如:

"F5055C6C-477F-47FB-AFE5-95C6928C407F"
Copy to Clipboard Toggle word wrap

在定义特定于节点的 hieradata 的环境文件中使用此系统 UUID,并将 per_node.yaml 模板注册到预配置 hook。例如:

resource_registry:
  OS::TripleO::ComputeExtraConfigPre: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/pre_deploy/per_node.yaml
parameter_defaults:
  NodeDataLookup: '{"F5055C6C-477F-47FB-AFE5-95C6928C407F": {"nova::compute::vcpu_pin_set": [ "2", "3" ]}}'
Copy to Clipboard Toggle word wrap

在运行 openstack overcloud deploy 时包含此环境文件。

per_node.yaml 模板会在与每个系统 UUID 对应的节点上生成一组 heiradata 文件,其中包含您定义的 hieradata。如果未定义 UUID,则生成的 hieradata 文件为空。在上例中,per_node.yaml 模板在所有 Compute 节点上运行(如 OS::TripleO::ComputeExtraConfigPre hook),但只有带有系统 UUID F5055C6C-477F-47FB-AFE5-95C407F 的 Compute 节点接收 hieradata。

这提供了一种将每个节点根据特定要求定制的方法。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat