16.5. 集合支持


自动化控制器在作业运行中支持特定于项目的 Ansible 集合。如果您在 SCM 中指定集合要求文件在 collections/requirements.yml 处,则自动化控制器会在作业运行前在隐式项目同步中将集合安装到该文件中。

自动化控制器有一个系统范围的设置,它允许从 SCM 项目的 collections/requirements.yml 文件中动态下载集合。您可以通过将 Enable Collections Download toggle 按钮设置为 Off,在 Settings 菜单的 Jobs settings 选项卡中关闭此设置。

Download collections

因为性能的原因,角色和集合会在本地缓存,您可以在项目 SCM 更新选项中选择 Update Revision on Launch 以确保:

update-on-launch

注意

如果您在执行环境中安装了集合,则项目的 requirements.yml 文件中指定的集合将在运行作业时优先使用。无论集合版本是什么,这个优先级都适用。例如,如果 requirements.yml 中指定的集合比执行环境中的集合旧,则会使用 requirements.yml 中指定的集合。

16.5.1. 在自动化中心中使用集合

在自动化控制器可以使用自动化中心作为集合内容的默认源前,您必须在自动化中心 UI 中创建 API 令牌。然后,您可以在自动化控制器中指定此令牌。

使用以下步骤连接到私有自动化中心或自动化中心,唯一区别是您指定的 URL。

流程

  1. 进入 https://console.redhat.com/ansible/automation-hub/token
  2. 单击 Load token
  3. 点复制 Copy 图标将 API 令牌复制到剪贴板。
  4. 通过选择以下选项之一来创建凭证:

    1. 要使用自动化中心,请使用复制的令牌创建一个自动化中心凭证,并指向令牌页面的 Server URLSSO URL 字段中显示的 URL:

    2. 要使用私有自动化中心,请使用从私有自动化中心的 Repo Management 仪表板中获取的令牌创建一个自动化中心凭证,并指向公布的存储库 URL,如下所示:

      image

      您可以使用不同命名空间或集合创建不同的存储库。对于自动化中心中的每个存储库,您必须创建不同的凭证。

      将 UI 中的 Ansible CLI URL (格式为 /https://$<hub_url>/api/galaxy/content/<repo )复制到 Create Credential 表单的 Galaxy Server URL 字段中:

      Create hub credential

      有关 UI 具体步骤,请参阅 Automation Hub 中的红帽认证、验证和 Ansible Galaxy 内容

  5. 进入您要从中同步内容的组织,并将新凭据添加到机构中。这可让您将每个机构与要使用的内容的凭证或存储库关联。

    Credential association

    Example

    您有两个软件仓库:

    • prod: Namespace 1Namespace 2,每个命名空间都带有集合 AB,因此 namespace1.collectionA:v2.0.0namespace2.collectionB:v2.0.0
    • stage: Namespace 1 仅带有集合 A so: namespace1.collectionA:v1.5.0,您具有 ProdStage 的存储库 URL。

      您可以为每个凭证创建一个凭证。

      然后,您可以为不同的机构分配不同的访问权限级别。例如,您可以创建一个有权访问这两个存储库的 Developers 组织,而 Operations 组织仅有权访问 Prod 存储库。

      有关 UI 具体步骤,请参阅在 私有自动化中心中为容器存储库配置用户访问权限

  6. 如果自动化中心有自签名证书,请使用切换按钮启用设置 Ignore Ansible Galaxy SSL Certificate Verification。对于使用签名证书的自动化中心,请使用切换来禁用它。这是一个全局设置:

    image

  7. 创建一个项目,其中源仓库在 collections/requirements.yml 文件中的要求文件中指定必要的集合。有关使用的语法信息,请参阅 Ansible 文档中的使用 Ansible 集合

    Project source repository

  8. 在 Projects 列表视图中,点同步 Update 图标更新此项目。自动化控制器从 collections/requirements.yml 文件获取 Galaxy 集合,并根据更改进行报告。使用此项目为任何作业模板安装集合。
注意

如果需要从 Galaxy 或 Collections 进行更新,则会执行一个下载所需角色的同步,这会消耗您的 /tmp 文件中更多的空间。如果您有大型项目(大约 10 GB),/tmp 上的磁盘空间可能会出现问题。

其他资源

有关集合的更多信息,请参阅使用集合

有关红帽如何发布其中一个官方集合(可用于直接自动化安装)的更多信息,请参阅 AWX Ansible Collection 文档。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat