5.5. puppet:为单个节点自定义 hieradata
您可以使用 heat 模板集合为单个节点设置 Puppet hieradata:
流程
从节点的内省数据中识别系统 UUID:
$ openstack baremetal introspection data save 9dcc87ae-4c6d-4ede-81a5-9b20d7dc4a14 | jq .extra.system.product.uuid
这个命令返回一个系统 UUID。例如:
"f5055c6c-477f-47fb-afe5-95c6928c407f"
创建一个环境文件来定义特定于节点的 hieradata,并将
per_node.yaml
模板注册到预先配置 hook。在NodeDataLookup
参数中包含您要配置的节点的系统 UUID: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" ]}}'
-
将此环境文件包含在
openstack overcloud deploy
命令中,以及与部署相关的任何其他环境文件。
per_node.yaml
模板在节点上生成一组与每个系统 UUID 对应的 hieradata 文件,并包含您定义的 hieradata。如果没有定义 UUID,则生成的 hieradata 文件为空。在本例中,per_node.yaml
模板在所有 Compute 节点上运行,由 OS::TripleO::ComputeExtraConfigPre
hook 定义,但只有具有系统 UUID f5055c6c-477f-47fb-afe5-95c6928c407f
接收 hieradata 的 Compute 节点。
您可以使用此机制来根据特定要求对每个节点进行定制。