4.7. Puppet:应用自定义清单


在某些情况下,您可能需要为 Overcloud 节点安装和配置一些附加组件。您可以通过自定义 Puppet 清单来实现此目的,此清单在主配置完成后应用到节点。作为基本示例,您可能想要将 motd 安装到每个节点。完成的过程是首先创建启动 Puppet 配置的 Heat 模板(/home/stack/templates/custom_puppet_config.yaml)。

heat_template_version: 2014-10-16

description: >
  Run Puppet extra configuration to set new MOTD

parameters:
  servers:
    type: json

resources:
  ExtraPuppetConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      config: {get_file: motd.pp}
      group: puppet
      options:
        enable_hiera: True
        enable_facter: False

  ExtraPuppetDeployments:
    type: OS::Heat::SoftwareDeploymentGroup
    properties:
      config: {get_resource: ExtraPuppetConfig}
      servers: {get_param: servers}
Copy to Clipboard Toggle word wrap

这包括模板中的 /home/stack/templates/motd.pp,并将其传递给节点以进行配置。motd.pp 文件本身包含用于安装和配置 motd 的 Puppet 类。

接下来,创建一个环境文件(/home/stack/templates/puppet_post_config.yaml),将您的 heat 模板注册为 OS::TripleO::NodeExtraConfigPost: 资源类型。

resource_registry:
  OS::TripleO::NodeExtraConfigPost: /home/stack/templates/custom_puppet_config.yaml
Copy to Clipboard Toggle word wrap

最后,在创建或更新 Overcloud 堆栈时,包含此环境文件以及其他环境文件:

$ openstack overcloud deploy --templates \
    ...
    -e /home/stack/templates/puppet_post_config.yaml \
    ...
Copy to Clipboard Toggle word wrap

这会将 motd.ppp 的配置应用到 Overcloud 中的所有节点。

重要

不要定义同一自定义 hieradata 哈希的多个实例。同一自定义 hieradata 的多个实例可能会导致 Puppet 运行期间出现冲突,并导致为配置选项设置了意外值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat