16.5. 集合支持
自动化控制器在作业运行中支持特定于项目的 Ansible 集合。如果您在 SCM 中指定集合要求文件在 collections/requirements.yml
处,则自动化控制器会在作业运行前在隐式项目同步中将集合安装到该文件中。
自动化控制器有一个系统范围的设置,它允许从 SCM 项目的 collections/requirements.yml
文件中动态下载集合。您可以通过将 Enable Collections Download toggle 按钮设置为 Off,在 Settings 菜单的 Jobs settings 选项卡中关闭此设置。
因为性能的原因,角色和集合会在本地缓存,您可以在项目 SCM 更新选项中选择 Update Revision on Launch 以确保:
如果您在执行环境中安装了集合,则项目的 requirements.yml
文件中指定的集合将在运行作业时优先使用。无论集合版本是什么,这个优先级都适用。例如,如果 requirements.yml
中指定的集合比执行环境中的集合旧,则会使用 requirements.yml
中指定的集合。
16.5.1. 在自动化中心中使用集合 复制链接链接已复制到粘贴板!
在自动化控制器可以使用自动化中心作为集合内容的默认源前,您必须在自动化中心 UI 中创建 API 令牌。然后,您可以在自动化控制器中指定此令牌。
使用以下步骤连接到私有自动化中心或自动化中心,唯一区别是您指定的 URL。
流程
- 进入 https://console.redhat.com/ansible/automation-hub/token。
- 单击 。
-
点复制
图标将 API 令牌复制到剪贴板。
通过选择以下选项之一来创建凭证:
要使用自动化中心,请使用复制的令牌创建一个自动化中心凭证,并指向令牌页面的 Server URL 和 SSO URL 字段中显示的 URL:
-
Galaxy Server URL =
https://console.redhat.com/api/automation-hub/
-
auth sever URL =
https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
-
Galaxy Server URL =
要使用私有自动化中心,请使用从私有自动化中心的 Repo Management 仪表板中获取的令牌创建一个自动化中心凭证,并指向公布的存储库 URL,如下所示:
您可以使用不同命名空间或集合创建不同的存储库。对于自动化中心中的每个存储库,您必须创建不同的凭证。
将 UI 中的 Ansible CLI URL (格式为
/https://$<hub_url>/api/galaxy/content/<repo
)复制到 Create Credential 表单的 Galaxy Server URL 字段中:有关 UI 具体步骤,请参阅 Automation Hub 中的红帽认证、验证和 Ansible Galaxy 内容。
进入您要从中同步内容的组织,并将新凭据添加到机构中。这可让您将每个机构与要使用的内容的凭证或存储库关联。
Example
您有两个软件仓库:
-
prod:
Namespace 1
和Namespace 2
,每个命名空间都带有集合A
和B
,因此namespace1.collectionA:v2.0.0
和namespace2.collectionB:v2.0.0
stage:
Namespace 1
仅带有集合A
so:namespace1.collectionA:v1.5.0
,您具有 Prod 和 Stage 的存储库 URL。您可以为每个凭证创建一个凭证。
然后,您可以为不同的机构分配不同的访问权限级别。例如,您可以创建一个有权访问这两个存储库的
Developers
组织,而 Operations 组织仅有权访问 Prod 存储库。有关 UI 具体步骤,请参阅在 私有自动化中心中为容器存储库配置用户访问权限。
-
prod:
如果自动化中心有自签名证书,请使用切换按钮启用设置 Ignore Ansible Galaxy SSL Certificate Verification。对于使用签名证书的自动化中心,请使用切换来禁用它。这是一个全局设置:
创建一个项目,其中源仓库在
collections/requirements.yml
文件中的要求文件中指定必要的集合。有关使用的语法信息,请参阅 Ansible 文档中的使用 Ansible 集合。-
在 Projects 列表视图中,点同步
图标更新此项目。自动化控制器从
collections/requirements.yml
文件获取 Galaxy 集合,并根据更改进行报告。使用此项目为任何作业模板安装集合。
如果需要从 Galaxy 或 Collections 进行更新,则会执行一个下载所需角色的同步,这会消耗您的 /tmp 文件中更多的空间。如果您有大型项目(大约 10 GB),/tmp
上的磁盘空间可能会出现问题。
其他资源
有关集合的更多信息,请参阅使用集合。
有关红帽如何发布其中一个官方集合(可用于直接自动化安装)的更多信息,请参阅 AWX Ansible Collection 文档。