第 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 问题请求命名空间,请按照以下步骤执行:

您必须至少登录一次才能验证系统。

用户添加为命名空间的管理员后,您可以使用自助式进程添加更多管理员。

Ansible Galaxy 命名空间命名是否存在任何限制?

集合命名空间必须遵循 Python 模块名称规则。这意味着集合应具有简短的、由小写字符组成的名称。您可以在名称中使用下划线以提高它的可读性。

1.1.1. 创建远程配置的原因

位于 Automation Content Remotes 远程配置都为 communityrh-certified 存储库提供关于存储库 上次更新的时间 的信息。您可以使用Automation Repositories页面中包含的 EditSync 功能随时将新内容添加到 Ansible Automation hub 中。

1.1.2. 检索红帽认证集合的 API 令牌

您可以将您的机构从 console.redhat.com 提供的 Ansible 认证内容集合同步到私有自动化中心。API 令牌是用于保护内容的 secret 令牌。

前提条件

  • 您有机构管理员权限在 console.redhat.com 上创建同步列表。

流程

  1. 以机构管理员身份登录到 console.redhat.com
  2. 进入 Automation Hub Connect to Hub
  3. 离线令牌 下,点 Load token
  4. Copy to clipboard 复制 API 令牌。
  5. 将 API 令牌粘贴到文件中,并存储在安全位置。

1.1.3. 配置 rh-certified 远程仓库并同步 Red Hat Ansible 认证的内容集合

您可以编辑 rh-certified 远程存储库,将 console.redhat.com 上托管的自动化中心的集合同步到私有自动化中心。默认情况下,您的私有自动化中心 rh- certified 存储库包含整个 Ansible 认证内容集合组的 URL。

要只使用您的机构指定的集合,私有自动化中心管理员可以从 rh-certified remote 中手动创建要求文件。

如果您的要求文件中有集合 ABC,并且新的集合 X 被添加到要使用的 console.redhat.com 中,则必须将 X 添加到您的私有自动化中心要求文件中以同步它。

前提条件

  • 您有有效的修改 Ansible 仓库内容权限。有关权限的更多信息,请参阅 访问管理和身份验证
  • 您已从 console.redhat.com 上的自动化中心托管服务中检索 Sync URL 和 API Token。
  • 您已配置了端口 443 的访问权限。这是同步认证集合所必需的。如需更多信息,请参阅 规划安装 的网络端口和协议 部分中的自动化中心表。

流程

  1. 登录到您的 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Remotes
  3. rh-certified 远程存储库中,单击 Edit remote
  4. URL 字段中,粘贴 Sync URL
  5. Token 字段中,粘贴您从 console.redhat.com 获取的令牌。
  6. 单击 Save remote

    现在,您可以在 console.redhat.com 上的机构同步列表和私有自动化中心之间同步集合。

  7. 在导航面板中,选择 Automation Content Repositories。在 rh-certified 旁边,点 More Actions 图标 appear 并选择 Sync repository
  8. 在出现的模态中,您可以切换以下选项:

    • 镜像 :如果您希望存储库内容镜像远程存储库的内容,则选择此项。
    • 优化 :只有在远程服务器未报告任何更改时,选择该选项。
  9. 单击 Sync 以完成同步。

验证

Sync status 列更新,以通知您 Red Hat Certified Content Collections 同步是否成功。

  • 导航到 Automation 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

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Remotes
  3. Community remote 的 Details 选项卡中,点 Edit remote
  4. YAML requirements 字段中,粘贴 requirements.yml 文件的内容。
  5. 单击 Save remote

    现在,您可以将 requirements.yml 文件中标识的集合从 Ansible Galaxy 同步到私有自动化中心。

  6. 在导航面板中,选择 Automation Content Repositories。在 community 存储库旁边,点 More Actions 图标 && amp;,然后选择 Sync repository 来同步 Ansible Galaxy 和 Ansible Automation Hub 之间的集合。
  7. 在出现的模态中,您可以切换以下选项:

    • 镜像 :如果您希望存储库内容镜像远程存储库的内容,则选择此项。
    • 优化 :只有在远程服务器未报告任何更改时,选择该选项。
  8. 单击 Sync 以完成同步。

验证

Sync status 列更新,以通知您 Ansible Galaxy 集合同步到 Ansible Automation Hub 是否成功。

  • 进入 Automation Content Collections 并选择 Community 来确认同步成功。

1.1.5. 配置代理设置

如果您的私有自动化中心位于网络代理后面,您可以在远程上配置代理设置,以同步位于本地网络之外的内容。

先决条件

  • 您有有效的修改 Ansible 仓库内容权限。有关权限的更多信息,请参阅 访问管理和身份验证
  • 您有一个来自本地网络管理员的代理 URL 和凭证。

流程

  1. 登录到 Ansible Automation Platform。
  2. 在导航面板中,选择 Automation Content Remotes
  3. rh-certifiedCommunity remote 中,点 More Actions 图标 appears 并选择 Edit remote
  4. 展开 Show advanced options 下拉菜单。
  5. 在适当的字段中输入代理 URL、代理用户名和代理密码。
  6. 单击 Save remote

1.1.6. 创建要求文件

我们建议使用要求文件在自动化中心中添加集合。要求文件采用 YAML 格式,列出要在自动化中心中安装的集合。创建 requirements.yml 文件列出您要安装的集合后,您将运行 install 命令,将集合添加到 hub 实例中。

标准 requirements.yml 文件包含以下参数:

  • Name :格式为 < namespace>.<collection_name&gt; 的集合的名称
  • 版本: 集合版本号

流程

  1. 创建您的要求文件。

    在 YAML 格式中,您的要求文件中的集合信息应类似如下:

    collections:
     name: namespace.collection_name
     version: 1.0.0
  2. 在创建了您要安装的每个集合的要求文件列表信息后,进入该文件所在的目录并运行以下命令:
$ ansible-galaxy collection install -r requirements.yml

1.1.6.1. 从命令行安装单个集合

要将单个集合安装到自动化中心,请运行以下命令:

$ ansible-galaxy collection install namespace.collection_name
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.