本文中:

  • 概述 RHEL 中支持的 Ansible 用例

  • 了解 Ansible 引擎和 Ansible Core 之间的区别

  • 了解如何迁移到 Ansible Core 以及有关在 RHEL 7 中使用 Ansible 的信息


如果您在红帽企业 Linux(RHEL)中使用 Ansible 内容,您应该知道 RHEL 8.6 和 9.0 即将发生重要更改。如果您目前在 RHEL 中使用 Ansible 引擎,则需要执行额外的步骤才能从 RHEL 8.5 升级到 RHEL 8.6。

RHEL 7 和 RHEL 8.0-8.5 客户可以访问单独的 Ansible 引擎存储库。在 RHEL 8.6 和 9.0 中,客户将可以访问 Ansible Core,它将包含在相应的 AppStream 存储库中。在 RHEL 中迁移至 Ansible Core 是为了适应 Ansible 项目中的更改。有关这些更改的更多信息,请参见以下文章:

本文将概述 RHEL 中支持的 Ansible 用例、Ansible 引擎和 Ansible Core 之间的区别、如何迁移到 Ansible Core,以及有关在 RHEL 7 中使用 Ansible 的信息。

RHEL 中支持的 Ansible 用例有哪些?

Ansible 提供给 RHEL 客户,以便他们可以使用 RHEL 中提供的自动化内容,如 RHEL 系统角色、身份管理 Ansible 内容、智能分析修复 playbook,以及 Web 控制台生成的 Ansible 内容。这些文章中记录了对 Ansible 引擎(RHEL 7、RHEL 8.0-8.5)和 Ansible Core(RHEL 8.6 和 RHEL 9.0)的有限支持范围的详细信息:

此有限支持范围内包含的自动化内容包括:

  • RHEL 系统角色

    • 核心 RHEL 系统角色,包含在 rhel-system-roles 软件包中

    • SAP 的系统角色,包含在 rhel-system-roles-sap 软件包中(需要 RHEL for SAP 解决方案订阅)

    • ansible-collection-microsoft-sql 软件包中包含的 Microsoft SQL Server 角色

    • ansible -collection-redhat-rhel_mgmt 软件包中包含的 IPMI Ansible 模块

  • ansible-freeipa 软件包中包含的身份管理 Ansible 内容

  • 智能分析生成的用于修复的 playbook,包括安全性、打补丁和配置用例

  • Performance Co-Pilot(PCP)Ansible 内容(包含在 ansible-pcp 软件包中)

  • Web 控制台生成的 Ansible 内容

如果没有红帽 Ansible 自动化平台订阅,则不支持将 Ansible 引擎或 Ansible Core 用于其他用例,如自定义或第三方 Ansible 内容。

OpenSCAP Ansible 修复 playbook 可能无法与 RHEL 8.6 和 9.0 中的 Ansible Core 正常搭配使用。如果需要 OpenSCAP Ansible 修复,我们建议通过红帽连接器使用智能分析合规性智能分析修复。RHEL 9.0 和 8.6 中的红帽连接器计划包含必要的 Ansible 模块,以使修复 playbook 能够与 Ansible Core 搭配使用。

Ansible 引擎和 Ansible Core 之间有什么区别?

如前文中所述,RHEL 8.6 和 RHEL 9.0 将引入 Ansible Core(ansible-core 软件包)来取代 Ansible 引擎(ansible 软件包)。Ansible Core 提供的 Ansible 插件和模块明显少于 Ansible 引擎。

Ansible 引擎包含大约 3,387 个模块,而相比之下 Ansible Core 包含大约 127 个模块。还有一些过滤器已不再包含在 Ansible Core 中,如 json_query、 ipaddr 等。

RHEL 支持的 Ansible 内容正在更新,以与 Ansible Core 兼容,因此,如果您正在使用 RHEL 支持的内容,迁移到 Ansible Core 应当没有影响。

自定义或第三方 Ansible 内容可能无法与 Ansible Core 正常搭配使用。请联系您的红帽客户团队讨论选项,包括 Ansible 自动化平台订阅。

如何从 Ansible 引擎迁移到 Ansible Core

Ansible 引擎在 RHEL 9 上将不可用,因此如果您要安装新的 RHEL 9 系统,您可以使用 dnf install ansible-core 命令从 AppStream 存储库安装 Ansible Core。有关更多信息,请参阅在 RHEL 9 中使用 Ansible

如果您的 RHEL 8.0-8.5 系统已安装了 Ansible 引擎,则在升级到 RHEL 8.6 后将需要执行其他步骤,才能将系统从 Ansible 引擎移至 Ansible Core。有关更多信息,请参阅在 RHEL 8.6 及更高版本中使用 Ansible

Ansible 引擎存储库在 RHEL 8.6 上仍然可用,但在 2023 年 9 月 29 日之后将不会收到任何安全或错误修复更新,而且它可能与 RHEL 8.6 及更高版本中包含的 Ansible 自动化内容不兼容。

在 RHEL 7 上使用 Ansible

Ansible Core 将在 RHEL 7 上不可用。客户可以在有限的支持范围内继续在 RHEL 7.9 上使用 Ansible 引擎 2.9,直至 2023 年 9 月 29 日。在此日期之后,Ansible 引擎将不会收到任何安全或错误修复更新。

使用 RHEL 系统角色或身份管理 Ansible 内容的客户,可以在 2023 年 9 月 29 日之后将 RHEL 8.6 或 RHEL 9.0 控制节点与 Ansible Core 搭配使用来管理 RHEL 7 节点。

2023 年 9 月 29 日之后,RHEL 7 上将不再支持智能分析修复 playbook。

结论

以上就是 RHEL 中正在引入的 Ansible 更改的概述。如果您使用的是 RHEL 8,请确保在升级到 RHEL 8.6 后按照步骤从 Ansible 引擎移至 Ansible Core。有关 RHEL 系统角色的更多信息,请参阅我们的 RHEL 系统角色简介,并密切关注 RHEL 系统角色博客系列


About the author

Brian Smith is a Product Manager at Red Hat focused on RHEL automation and management.  He has been at Red Hat since 2018, previously working with Public Sector customers as a Technical Account Manager (TAM).  

Read full bio