搜索

3.3. 配置智能类参数

download PDF

以下步骤配置类中的参数。包含参数的类被称为参数化类。

智能类参数对所有机构都很常见。具有 edit_external_parameters 权限的用户都可以编辑这些参数。如果要限制权限编辑智能类参数,请参阅 KCS 解决方案 Restrict 权限来编辑 puppet 类及其智能类参数,它们在多个机构之间常见

配置智能类参数

  1. 单击 Configure > Puppet Classes
  2. 从具有 参数 列中指示的参数列表中选择一个类。
  3. 单击 Smart Class Parameter 选项卡。这将显示一个新屏幕。left 部分包含类支持的可能参数列表。right 部分包含选择的参数的配置选项。
  4. 从左侧列表中选择参数。
  5. 编辑 Description 文本框,以添加任何纯文本注释。
  6. 选择 Override 以允许 Satellite 对此变量进行控制。如果没有选中复选框,卫星不会将新变量传递给 Puppet。
  7. 选择要传递的数据类型。这是最常见的字符串,但支持其他数据类型。
  8. 如果发生主机匹配,则输入要发送到 Puppet master 的参数的 Default Value
  9. 可选: 选择 Omit不向 Puppet 宿主发送值,除非发生覆盖匹配项。
  10. 可选: 如果该字段包含您不想在操作时显示的数据,请选择 Hidden 值
  11. 使用 Optional Input Validator 部分来限制参数允许的值。在 Validator 规则字段中,选择 Validator 类型 (以逗号分隔的值或正则表达式、regexp的列表,并在 Validator 规则 字段中输入允许的值或正则表达式代码。
  12. 如果选择了 Override 选项,则会出现 Prioritize Attribute Order 部分。这提供了根据条件参数为特定主机覆盖值的选项。属性类型及其值称为 matcher。
  13. Order 字段中,设置优先级顺序,其中将主机属性或事实的评估为根据匹配者进行评估,具体由列表中条目的排列。您可以添加一个属性,该属性在 Facter 中存在,且无法与默认列表混淆。

    如果要在匹配者间创建逻辑 AND 条件,并使用多个属性作为匹配程序键,将它们放在一行中,格式为用逗号分开的列表:

    location,environment
    注意

    BZ#1772381 被解决前,请注意,Order tooltip 显示使用多个属性作为匹配程序键的不正确的示例配置。

  14. 单击 Add Matcher 以添加条件参数。要匹配的属性对应于 Order 列表中的条目。如果没有配置 matcher,则只有默认值可用于覆盖功能。
  15. Attribute type 列表,选择 属性。
  16. 在属性旁边的字段中,输入属性字符串。
  17. Value 字段中输入您想要的值。

    可以使用嵌入式 Ruby(ERB)模板语法中的 Value 字段中的参数和 Puppet 事实实现动态数据。例如,要将 Puppet 事实用作值的一部分:

    <%= @host.facts['network_eth0'] %>

    若要列出可用的 Puppet 事实,可导航到 Monitor > Facts

    如需有关 ERB 语法的更多信息,请参阅 管理主机 中的模板编写参考

  18. Submit

将单个属性设置为 matcher 键

您可以将单个属性设置为 matcher 键。

例如,若要为 Default_Location 位置的任何主机的 Puppet master 提供 test 值,请完成以下步骤:

  1. Order 字段中,附加 位置
  2. 单击 Add Matcher,再从 Attribute 类型 列表中选择 位置
  3. 在属性旁边的字段中,输入 Default_Location
  4. Value 字段中输入 test
  5. Submit

将多个属性设置为 matcher 键

您可以将多个属性设置为匹配器。

例如,若要为 Default_Location 位置和 开发环境中 任何主机的 Puppet master 提供参数值,请完成以下步骤:

  1. Order 字段中,附加 location,environment
  2. 单击 Add Matcher,再从 Attribute 类型 列表选择 location,environment
  3. 在属性旁边的字段中,输入 Default_Location,development
  4. Value 字段中输入 test
  5. Submit

匹配概述的优先级

在匹配的主机时,Satellite 会使用以下优先级:

  1. 卫星在主机属性中搜索匹配者。
  2. 如果主机属性中没有匹配项,卫星将搜索主机参数中的匹配程序,这会根据参数层次结构进行继承。
  3. 如果主机参数中没有匹配项,卫星会在主机事实中搜索匹配程序。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.