搜索

3.2. 参数

download PDF

Red Hat Satellite 参数定义置备主机时要使用的键值对。它们类似于 Puppet 的默认范围参数的概念。您可以在使用 Puppet 设置主机时定义参数。

参数的类型

Red Hat Satellite 有两个参数:

简单参数
定义键值对之间的关系的字符串参数。它们不能被用户配置覆盖,但它们会根据 Satellite 的参数层次结构覆盖。以下参数是 Red Hat Satellite 中的简单参数:全局、组织级、位置级、域级、子网级别、操作系统级别、主机组和主机参数。
智能类参数
为键定义值的复杂参数,但为特定对象类型允许条件参数、验证和覆盖。智能类参数使 Puppet 类能够获取外部数据。它们在 Puppet 类中使用,在 Puppet 术语中称为参数化类。这些参数的层次结构可以在 Web UI 中配置。

以下参数层次结构适用于简单参数:

全局参数

适用于 Satellite 中的每个主机的默认参数。在 Configure > Global parameters 中配置。要使用 Hammer CLI 设置全局参数,请输入以下命令:

# hammer global-parameter set --name parameter_name --value parameter_value
机构级参数

影响给定机构中的所有主机的参数。机构级参数覆盖全局参数。在 Administer > Organizations > Edit > Parameters 中进行配置。要使用 Hammer CLI 设置机构级参数,请输入以下命令:

# hammer organization set-parameter --organization "Your Organization" \
--name parameter_name --value parameter_value
位置级别参数

影响给定位置中的所有主机的参数。位置级别参数覆盖机构级别和全局参数。在 Administer > Locations > Edit > Parameters 中进行配置。要使用 Hammer CLI 设置位置级参数,请输入以下命令:

# hammer location set-parameter --location "Your_Location" \
--name parameter_name --value parameter_value
域参数

影响给定域中的所有主机的参数。域参数覆盖位置级别或更高参数。在 Infrastructure > Domains > [choose_a_domain] > Parameters.要使用 Hammer CLI 设置域参数,请输入以下命令:

# hammer domain set-parameter --domain domain_name \
--name parameter_name --value parameter_value
子网参数

影响给定子网中有主接口的所有主机的参数。子网参数覆盖主机组系统级别和更高的参数。在 Infrastructure > Subnets > [choose_a_subnet] > Parameters.要使用 Hammer CLI 设置子网参数,请输入以下命令:

# hammer subnet set-parameter --subnet subnet_name \
--name parameter_name --value parameter_value
操作系统级别参数

影响给定操作系统所有主机的参数。操作系统级别的参数覆盖域或更高参数。在 Hosts > Operating system > [choose_an_ operating_system] > Parameters.要使用 Hammer CLI 设置操作系统参数,请输入以下命令:

# hammer os set-parameter --operatingsystem os_name \
--name parameter_name --value parameter_value
主机组参数

影响给定主机组中的所有主机的参数。主机组参数覆盖操作系统级别或更高参数。在 Configure > Host Groups > [choose_a_host_group] > Parameters.要使用 Hammer CLI 设置主机组参数,请输入以下命令:

# hammer hostgroup set-parameter --hostgroup hostgroup_name \
--name parameter_name --value parameter_value
主机参数

影响特定主机的参数。所有之前继承的参数在参数子选项卡中可见,并可被覆盖。在 Hosts > All hosts > Edit > Parameters.要使用 Hammer CLI 设置主机参数,请输入以下命令:

# hammer host set-parameter --host host_name \
--name parameter_name --value parameter_value

将参数用于 Puppet 类

Red Hat Satellite 有两种方法可以为要用于 Puppet 类的 Puppet master 提供值:

智能变量
为不含智能类参数的类,为 Puppet 宿主提供全局参数的工具,格式为 key-value 形式。它们启用覆盖 Puppet 清单中的参数值。当类没有智能类参数或者需要全局参数时,它们被设计为使用。它们可以有多个可能的值,它们都取决于用户可以应用的分层上下文或各种条件。Puppet 在 Puppet 具有参数化类前存在,并且现在保持向后兼容性,或者用于需要验证的全局参数,仅用于与特定 Puppet 类使用,以及用于字符串以外的类型(因为您可以仅使用简单参数)。
参数化类
包含智能类参数的 Puppet 类。类从 Puppet 宿主导入,参数的名称(如 $::名称 (首选)或 $name 由编写该类且无法更改的人员定义。它们允许您决定特定类而非全局的变量值。

配置的参数包含在每个主机的对应 YAML 文件中,并发送到 Puppet 宿主。YAML 文件可在特定主机的页面中的 Web UI 中查看。您不应该手动更改 /etc/foreman/settings.yaml 配置文件,因为它们在下次运行 satellite-installer 命令时被覆盖。

重要

卫星中默认启用参数化类支持。要确认它已启用,请导航到 Administer > Settings,选择 Puppet 选项卡,并确保 ENC 中的 Parameterized Classes 设置为 True

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.