第 1 章 在自动化中心中红帽认证的、经过验证的 Ansible Galaxy 内容
Ansible 认证的内容集合包括在订阅 Red Hat Ansible Automation Platform 中。使用 Ansible 自动化中心(Automation hub),您可以从所有形式的 Ansible 内容访问并策展一组唯一的集合。
Red Hat Ansible 内容包含两种类型的内容:
- Ansible 认证的内容集合
- Ansible 验证的内容集合
您可以使用 Ansible 认证内容集合或 Ansible 验证的内容集合来构建自动化库。如需有关 Ansible 认证内容集合和 Ansible 验证的内容集合之间的区别的更多信息,请参阅本指南中的 Ansible 认证内容集合和 Ansible 验证的内容或 Ansible 验证的内容。
您可以通过下载其软件包来手动更新这些集合。
您可以通过创建要求文件或同步列表,使用 Ansible Automation Hub 将相关的 Red Hat Ansible 认证内容集合分发到用户。使用要求文件将集合安装到自动化中心,因为同步列表只能由具有平台管理员特权的用户管理。
在使用要求文件安装内容前,您必须:
1.1. 配置 Ansible 自动化中心远程存储库以同步内容
使用远程配置配置您的私有自动化中心,使其与 console.redhat.com
上托管的 Ansible 认证内容集合或 Ansible Galaxy 中的集合同步。
要同步内容,您现在可以从 rh-certified remote 上传手动创建的要求文件。远程是允许您从外部集合源将内容同步到自定义存储库的配置。
从 2.4 发行版本开始,您仍然可以同步内容,但同步列表已弃用,并将在以后的发行版本中删除。
Ansible Galaxy 和 Ansible 自动化中心之间的区别是什么?
发布到 Ansible Galaxy 的集合是 Ansible 社区发布的最新内容,没有与它们关联的联合支持声明。Ansible Galaxy 是 Ansible 社区访问内容的推荐前端目录。
向 Ansible Automation Hub 发布的集合面向红帽及所选合作伙伴的客户。客户需要 Ansible 订阅才能访问和下载 Ansible 自动化中心中的集合。认证集合意味着红帽与合作伙伴就位具有战略关系,随时支持共同客户,并且集合可能还会有额外的测试和验证。
如何在 Ansible Galaxy 上请求命名空间?
要通过 Ansible Galaxy GitHub 问题请求命名空间,请按照以下步骤执行:
- 发送电子邮件到 ansiblepartners@redhat.com
- 包括用于在 Ansible Galaxy 上注册的 GitHub 用户名。
您必须至少登录一次才能验证系统。
用户添加为命名空间的管理员后,您可以使用自助式进程添加更多管理员。
Ansible Galaxy 命名空间命名是否存在任何限制?
集合命名空间必须遵循 Python 模块名称规则。这意味着集合应具有简短的、由小写字符组成的名称。您可以在名称中使用下划线以提高它的可读性。
1.1.1. 创建远程配置的原因
位于
1.1.2. 检索红帽认证集合的 API 令牌
您可以将您的机构从 console.redhat.com
提供的 Ansible 认证内容集合同步到私有自动化中心。API 令牌是用于保护内容的 secret 令牌。
前提条件
- 您有机构管理员权限在 console.redhat.com 上创建同步列表。
流程
-
以机构管理员身份登录到
console.redhat.com
。 -
进入
。 - 在 离线令牌 下,点 。
- 点 复制 API 令牌。
- 将 API 令牌粘贴到文件中,并存储在安全位置。
1.1.3. 配置 rh-certified 远程仓库并同步 Red Hat Ansible 认证的内容集合
您可以编辑 rh-certified 远程存储库,将 console.redhat.com 上托管的自动化中心的集合同步到私有自动化中心。默认情况下,您的私有自动化中心 rh- certified
存储库包含整个 Ansible 认证内容集合组的 URL。
要只使用您的机构指定的集合,私有自动化中心管理员可以从 rh-certified
remote 中手动创建要求文件。
如果您的要求文件中有集合 A
、B
和 C
,并且新的集合 X
被添加到要使用的 console.redhat.com 中,则必须将 X
添加到您的私有自动化中心要求文件中以同步它。
前提条件
流程
- 登录到您的 Ansible Automation Platform。
-
在导航面板中,选择
。 - 在 rh-certified 远程存储库中,单击 。
- 在 URL 字段中,粘贴 Sync URL。
- 在 Token 字段中,粘贴您从 console.redhat.com 获取的令牌。
单击
。现在,您可以在 console.redhat.com 上的机构同步列表和私有自动化中心之间同步集合。
-
在导航面板中,选择
。在 rh-certified 旁边,点 图标 appear 并选择 Sync repository。 在出现的模态中,您可以切换以下选项:
- 镜像 :如果您希望存储库内容镜像远程存储库的内容,则选择此项。
- 优化 :只有在远程服务器未报告任何更改时,选择该选项。
- 单击 以完成同步。
验证
Sync status 列更新,以通知您 Red Hat Certified Content Collections 同步是否成功。
-
导航到
,以确认您的集合内容已成功同步。
1.1.4. 配置社区远程存储库并同步 Ansible Galaxy 集合。
您可以编辑 community 远程存储库,将所选集合从 Ansible Galaxy 同步到私有自动化中心。默认情况下,您的私有自动化中心 community 存储库定向到 galaxy.ansible.com/api/
。
前提条件
- 您有修改 Ansible 存储库内容的权限。有关权限的更多信息,请参阅 访问管理和身份验证。
您有一个
requirements.yml
文件,用于标识要从 Ansible Galaxy 同步的集合,如下例所示:Requirements.yml 示例
collections: # Install a collection from Ansible Galaxy. - name: community.aws version: 5.2.0 source: https://galaxy.ansible.com
流程
- 登录到 Ansible Automation Platform。
-
在导航面板中,选择
。 - 在 Community remote 的 Details 选项卡中,点 。
-
在 YAML requirements 字段中,粘贴
requirements.yml
文件的内容。 单击
。现在,您可以将
requirements.yml
文件中标识的集合从 Ansible Galaxy 同步到私有自动化中心。-
在导航面板中,选择
。在 community 存储库旁边,点 图标 && amp;,然后选择 Sync repository 来同步 Ansible Galaxy 和 Ansible Automation Hub 之间的集合。 在出现的模态中,您可以切换以下选项:
- 镜像 :如果您希望存储库内容镜像远程存储库的内容,则选择此项。
- 优化 :只有在远程服务器未报告任何更改时,选择该选项。
- 单击 以完成同步。
验证
Sync status 列更新,以通知您 Ansible Galaxy 集合同步到 Ansible Automation Hub 是否成功。
-
进入
并选择 Community 来确认同步成功。
1.1.5. 配置代理设置
如果您的私有自动化中心位于网络代理后面,您可以在远程上配置代理设置,以同步位于本地网络之外的内容。
先决条件
- 您有有效的修改 Ansible 仓库内容权限。有关权限的更多信息,请参阅 访问管理和身份验证
- 您有一个来自本地网络管理员的代理 URL 和凭证。
流程
- 登录到 Ansible Automation Platform。
-
在导航面板中,选择
。 - 在 rh-certified 或 Community remote 中,点 图标 appears 并选择 Edit remote。
- 展开 Show advanced options 下拉菜单。
- 在适当的字段中输入代理 URL、代理用户名和代理密码。
- 单击 。
1.1.6. 创建要求文件
我们建议使用要求文件在自动化中心中添加集合。要求文件采用 YAML 格式,列出要在自动化中心中安装的集合。创建 requirements.yml 文件列出您要安装的集合后,您将运行 install 命令,将集合添加到 hub 实例中。
标准 requirements.yml
文件包含以下参数:
-
Name
:格式为 <namespace>.<collection_name&
gt; 的集合的名称 -
版本
: 集合版本号
流程
创建您的要求文件。
在 YAML 格式中,您的要求文件中的集合信息应类似如下:
collections: name: namespace.collection_name version: 1.0.0
- 在创建了您要安装的每个集合的要求文件列表信息后,进入该文件所在的目录并运行以下命令:
$ ansible-galaxy collection install -r requirements.yml
1.1.6.1. 从命令行安装单个集合
要将单个集合安装到自动化中心,请运行以下命令:
$ ansible-galaxy collection install namespace.collection_name