在 Ansible Tower 上安装和使用集合
在 Ansible Tower 上安装和使用集合
Ansible 集合是分发和管理内容的新方法。Ansible 内容可以是模块、角色、插件,甚至 Ansible Playbook。在我之前的博客中,我提供了从 Ansible Galaxy 和 Automation Hub 使用 Ansible 集合的演练。Ansible Galaxy 是共享 Ansible 集合的上游社区。任何社区用户都可以创建一个命名空间并与任何人共享内容。Red Hat Ansible Automation Platform 订阅包含对 Automation Hub 的访问权限。Automation Hub 仅包含来自 Red Hat 及其合作伙伴的完全支持和认证的内容。
在这篇博文中,我们将逐步介绍如何将 Ansible 集合与 Ansible Tower(Red Hat Ansible Automation Platform 的一部分)一起使用。与使用命令行 Ansible 与 Ansible Galaxy 或 Automation Hub 同步相比,使用 Ansible Tower 有几个区别。但是,它非常简单,我将向您展示如何操作!
从 Ansible Tower 访问 Automation Hub 和 Galaxy 中的集合内容。
如果您的项目中包含 Ansible 集合,则无需对 Automation Hub 进行身份验证。此方法是使用需求文件动态下载。通常,有三种使用 Ansible 集合与您的环境交互的策略
- 将集合安装到您的运行时环境或虚拟环境中
- 将集合作为 SCM 树的一部分提供
- 使用需求文件
从 Automation Hub 访问内容时,必须在 Ansible Tower 的设置中进行身份验证令牌和身份验证 URL 配置。
注意:即使您在项目存储库中的 ansible.cfg 文件中拥有授权详细信息,Ansible Tower 也不会获取它。您需要在 Ansible Tower 设置中输入这些详细信息
为此,请从 Ansible Tower 管理部分导航到“设置 > 作业”侧边栏链接。
单击“作业”并更新以下字段
- 主要 Galaxy 服务器 URL:
https://cloud.redhat.com/api/automation-hub/
- 主要 Galaxy 身份验证 URL:
https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
- 主要 Galaxy 服务器令牌:
xxxxxxxxxxxxxxxxxxxxxxxxx......
Red Hat 建议使用 Automation Hub 作为您的主要 Galaxy 服务器 URL,以确保您使用的是通过 Red Hat Ansible Automation Platform 订阅完全支持的经过认证的内容
这是您在 Ansible Tower 中需要执行的唯一步骤,以便从 collections/requirements.yml 文件中定义的 Automation Hub 下载经过认证的集合。
Playbook 通常通过作业模板调用。
启动此作业模板会导致从 Automation Hub 和 Galaxy 下载集合,并调用通过这些集合提供的模块。
结论
Ansible 集合引入了一种有效地模块化和打包自动化内容的方法。Red Hat Automation Hub 托管经过 Red Hat 验证和支持的经过认证的集合。Ansible Galaxy 托管社区贡献的集合。客户可以访问这两个内容存储库中的集合。我认为集合是 Ansible 采用的“包含电池”方法的超级增强器。它提升了构建自动化所涉及的细微差别,使用户能够即插即用由认证合作伙伴和社区构建的最新和最棒的自动化内容。