1.5. 在卫星中覆盖 Ansible 变量


如果在卫星中运行 Ansible 角色,您可以使用卫星覆盖这些角色的 Ansible 变量。

以下流程指的是主机和主机组。如需更多信息,请参阅管理主机

覆盖变量中的优先级

如果您使用 Ansible 角色以不是 Effective User 的用户身份运行任务,则有严格的优先级顺序来覆盖 Ansible 变量。要确保您覆盖的变量按照正确的优先级顺序进行覆盖,请参阅 变量优先级:我应该在哪里放置变量?

前提条件

流程

  1. 在 Satellite Web UI 中,进入 Configure > Variables
  2. 选择您要通过卫星覆盖和管理的 Ansible 变量。
  3. Default Behavior 区域中,选中 覆盖 复选框。
  4. Parameter Type 字段中,选择验证的值类型,如 字符串boolean。type 数组hash 具有更多选项,可用于在变量匹配时进行处理。如需更多信息 ,请参阅下面的 优先级属性顺序 区域
  5. Default Value 字段中,如果变量不匹配,请输入您要使用的默认值。
  6. 可选:如果您不想在卫星 Web UI 中以纯文本形式显示变量的值,请选择 Hidden Value 复选框,将变量的内容显示为星号。这可用于敏感值,如密码或机密令牌。
  7. 可选:扩展 Optional Input Validator 区域,并指定用于验证变量值的条件:

    • 如果要 强制用户填写此变量,请选择此项。
    • Validator Type 字段中,选择如何验证值:

      • list - 将根据允许值的枚举进行验证。
      • regex - 该值将针对正则表达式模式进行验证。
  8. 可选:Prioritize Attribute Order 区中,由主机属性指定优先级顺序来匹配带有主机的覆盖。顶端的顺序具有更高的优先级。第一个匹配项胜出。

    您可以将多个属性组合成一个匹配者键,使用逗号作为 AND 操作。例如,匹配器关键字 hostgroup, environment 会预期如 hostgroup = "web servers" AND environment = production 的匹配器。

    如果使用参数类型 数组散列,您可以进一步设置:

    • merge Overrides - 合并阵列/哈希的成员,而不是替换整个阵列或哈希。如果哈希包含相同的键,则该值会被主机的值覆盖。
    • Merge Default – 为数组或散列添加默认值。
    • 避免重复 - 确保阵列中的值或哈希值是唯一的。
  9. 可选:扩展 指定 Matchers 区域,并指定用于选择变量覆盖的主机的条件。
  10. 要保存覆盖设置,请点击 Submit

要使用 Ansible 变量,请将 变量添加为主机或主机组的参数,或者将 变量添加为全局参数。

将变量添加到主机

  1. 在 Satellite Web UI 中,进入 Hosts > All Hosts 并选择要使用的主机。
  2. Ansible 选项卡,在 Variables 区域中,单击铅笔图标以编辑 变量的值。
  3. 点击 tick 图标接受 changed 变量的值或跨图标取消更改。

将变量添加到主机组

  1. 在 Satellite Web UI 中,进入 Configure > Host Groups,然后选择要使用的主机组。
  2. 单击 Parameters 选项卡,然后在 主机组参数 区域中,单击 Add Parameter
  3. Name 字段中,添加 Ansible 变量名称。
  4. Type 列表中,选择用于验证的变量类型。
  5. Value 字段中,输入 变量的值。

将变量添加为全局参数

  1. 在 Satellite Web UI 中,导航到 Configure > Global Parameters,点 Create Parameter
  2. Name 字段中,添加 Ansible 变量名称。
  3. Type 列表中,选择用于验证的变量类型。
  4. Value 字段中,输入 变量的值。
  5. 可选:如果您不想以纯文本形式显示 Ansible 变量,请选择 Hidden Values 复选框,将变量的内容显示为 Satellite Web UI 中的星号。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.