Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
4.6. 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 的环境中使用此系统 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" ]}}'
在运行 openstack overcloud deploy
时包括此环境文件。
per_node.yaml
模板在与每个系统 UUID 对应的节点上生成一组 heiradata 文件,并包含您定义的 hieradata。如果没有定义 UUID,则生成的 hieradata 文件为空。在上例中,per_node.yaml
模板在所有 Compute 节点上运行(根据 OS::TripleO::ComputeExtraConfigPre
hook),但只有有系统 UUID F5055C6C-477F-47FB-AFE5-95C6928C407F
接收 hieradata 的 Compute 节点。
这提供了一种根据特定要求定制每个节点的方法。
如需有关 NodeDataLookup 的更多信息,请参阅使用容器化 Red Hat Ceph 部署 Overcloud 指南中的配置 Ceph Storage 集群设置。