5.5. puppet:为单个节点自定义 hieradata


您可以使用 heat 模板集合为单个节点设置 Puppet hieradata:

流程

  1. 从节点的内省数据中识别系统 UUID:

    $ openstack baremetal introspection data save 9dcc87ae-4c6d-4ede-81a5-9b20d7dc4a14 | jq .extra.system.product.uuid

    这个命令返回一个系统 UUID。例如:

    "f5055c6c-477f-47fb-afe5-95c6928c407f"
  2. 创建一个环境文件来定义特定于节点的 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" ]}}'
  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 节点。

您可以使用此机制来根据特定要求对每个节点进行定制。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.