搜索

10.2. Heat 参数

download PDF

director 模板集合中的每个 heat 模板都包含一个 parameters 部分。本节包含特定于特定 overcloud 服务的所有参数的定义。这包括以下内容:

  • overcloud.j2.yaml - 默认基本参数
  • roles_data.yaml - 可组合角色的默认参数
  • deploymentAttr.yaml - 特定服务的默认参数

您可以使用以下方法修改这些参数的值:

  1. 为您的自定义参数创建一个环境文件。
  2. 在环境文件的 parameter_defaults 部分中包含您的自定义参数。
  3. 使用 openstack overcloud deploy 命令包含环境文件。

10.2.1. 示例 1:配置时区

用于设置时区的 Heat 模板(puppet/services/time/timezone.yaml)包含 TimeZone 参数。如果将 TimeZone 参数留空,overcloud 会将时间设置为 UTC 作为默认值。

要获取时区列表,请运行 timedatectl list-timezones 命令。以下示例命令检索 Asia 的时区:

$ sudo timedatectl list-timezones|grep "Asia"

在识别您的时区后,在环境文件中设置 TimeZone 参数。以下示例环境文件将 TimeZone 的值设置为 Asia/Tokyo

parameter_defaults:
  TimeZone: 'Asia/Tokyo'

10.2.2. 示例 2:配置 RabbitMQ 文件描述符限制

对于某些配置,您可能需要提高 RabbitMQ 服务器的文件描述符限制。使用 deployment/rabbitmq/rabbitmq-container-puppet.yaml heat 模板在 RabbitFDLimit 参数中设置新限制。在环境文件中添加以下条目:

parameter_defaults:
  RabbitFDLimit: 65536

10.2.3. 示例 3:启用和禁用参数

您可能需要在部署期间初始设置参数,然后禁用用于将来的部署操作的参数,如更新或扩展操作。例如,要在 overcloud 创建过程中包含自定义 RPM,请在环境文件中包含以下条目:

parameter_defaults:
  DeployArtifactURLs: ["http://www.example.com/myfile.rpm"]

要从未来的部署中禁用此参数,无法删除该参数。相反,您必须将参数设置为空值:

parameter_defaults:
  DeployArtifactURLs: []

这可确保不再为后续部署操作设置该参数。

10.2.4. 示例 4:基于角色的参数

使用 [ROLE]Parameters 参数,将 [ROLE] 替换为可组合角色,以为特定角色设置参数。

例如,director 在 Controller 和 Compute 节点上配置 sshd。要为 Controller 和 Compute 节点设置不同的 sshd 参数,请创建一个环境文件,其中包含 ControllerParametersComputeParameters 参数,并为每个特定的角色设置 sshd 参数:

parameter_defaults:
  ControllerParameters:
    BannerText: "This is a Controller node"
  ComputeParameters:
    BannerText: "This is a Compute node"

10.2.5. 识别您要修改的参数

Red Hat OpenStack Platform director 为配置提供了许多参数。在某些情况下,您可能会遇到识别您要配置的特定选项以及对应的 director 参数的难度。如果有一个选项您要使用 director 配置,请使用以下工作流来识别选项并将其映射到特定的 overcloud 参数:

  1. 确定您要配置的选项。记录下使用 选项的服务。
  2. 为此选项检查对应的 Puppet 模块。Red Hat OpenStack Platform 的 Puppet 模块位于 director 节点上的 /etc/puppet/modules 下。每个模块对应于特定的服务。例如,keystone 模块对应于 OpenStack Identity (keystone)。

    • 如果 Puppet 模块包含控制所选选项的变量,请继续下一步。
    • 如果 Puppet 模块不包含控制所选选项的变量,则此选项不存在 hieradata。如果可能,您可以在 overcloud 完成部署后手动设置选项。
  3. 以 hieradata 的形式检查 Puppet 变量的核心 heat 模板集合。deployment Attr 中的模板通常与同一服务的 Puppet 模块对应。例如,deployment/keystone/keystone-container-puppet.yaml 模板为 keystone 模块提供 hieradata。

    • 如果 heat 模板为 Puppet 变量设置 hieradata,该模板也应披露您可以修改的基于 director 的参数。
    • 如果 heat 模板没有为 Puppet 变量设置 hieradata,请使用配置 hook 来使用环境文件传递 hieradata。有关自定义 hieradata 的更多信息,请参阅 第 10.3.4 节 “puppet:为角色自定义 hieradata”

流程

  1. 要更改 OpenStack Identity (keystone)的通知格式,请使用工作流并完成以下步骤:

    1. 识别您要配置的 OpenStack 参数(notification_format)。
    2. keystone Puppet 模块中搜索 notification_format 设置:

      $ grep notification_format /etc/puppet/modules/keystone/manifests/*

      在这种情况下,keystone 模块使用 keystone::notification_format 变量管理这个选项。

    3. 为这个变量搜索 keystone 服务模板:

      $ grep "keystone::notification_format" /usr/share/openstack-tripleo-heat-templates/deployment/keystone/keystone-container-puppet.yaml

      输出显示 director 使用 KeystoneNotificationFormat 参数来设置 keystone::notification_format hieradata。

下表显示了最终映射:

director 参数Puppet hieradataOpenStack Identity (keystone)选项

KeystoneNotificationFormat

keystone::notification_format

notification_format

您可以在 overcloud 环境文件中设置 KeystoneNotificationFormat,然后在 overcloud 配置期间设置 keystone.conf 文件中的 notification_format 选项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.