在私有自动化中心(automation hub)中管理容器

Red Hat Ansible Automation Platform 2.1

用于配置私有自动化中心容器 registry 和软件仓库的管理员工作流和流程。

Red Hat Customer Content Services

摘要

提供反馈:
如果您对本文档有任何改进建议,或发现错误,请联系技术支持 https://access.redhat.com,使用 Docs组件在 Ansible Automation PlatformJIRA 项目中创建一个问题。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 管理私有自动化 hub 容器 registry

使用自动化 hub 容器 registry 管理 {PlatfomNameShort} 基础架构中的容器镜像仓库。自动化中心提供相应的功能,监管谁可以访问各个容器存储库,更改镜像上的标签,查看活动和镜像层,并提供与每个容器存储库相关的附加信息。

1.1. 容器 registry

自动化 hub 容器 registry 用于存储和管理容器镜像。构建或提供容器镜像后,您可以将该容器镜像推送到私有自动化 hub 的 registry 部分,以创建容器存储库。

1.2. 后续步骤

  • 将容器镜像推送到自动化 hub 容器 registry。
  • 创建可访问 registry 中的容器存储库的组。
  • 将新组添加到容器存储库。
  • 将 README 添加到容器存储库,以为用户提供信息和相关链接。

第 2 章 在私有自动化 hub 中配置容器仓库的用户访问权限

在私有自动化 hub 中配置容器存储库的用户访问权限,以提供决定谁可以访问和管理 Ansible Automation Platform 中的镜像的权限。

2.1. 先决条件

  • 您可以在私有自动化 hub 中创建组并分配权限。

2.2. 容器 registry 组权限

用户访问提供了粒度控制功能,让用户可以如何与在私有自动化中心中管理的容器交互。使用以下权限列表,为容器注册表创建具有正确特权的组。

表 2.1. 用于在私有自动化中心中管理容器的组权限列表

权限名称描述

创建新容器

用户可以创建新容器

更改容器命名空间权限

用户可以更改容器存储库的权限

更改容器

用户可以更改容器的信息

更改镜像标签

用户可以修改镜像标签

拉取私有容器

用户可以从私有容器中拉取镜像

推送到现有容器

用户可以将镜像推送到现有容器中

查看私有容器

用户可以查看标记为私有的容器

2.3. 创建新组

您可以创建并为 Automation Hub 中的组分配权限,该组可让用户访问系统中指定的功能。默认情况下,Automation Hub 中有一个 admins 组,它分配了所有权限,并在使用安装 Automation Hub 时创建的凭证进行初始登录时可用。

先决条件

  • 您有权限,可以在 Automation Hub 中创建和管理组配置和访问权限。

流程

  1. 登录到您的本地 Automation Hub。
  2. 进入 User AccessGroups
  3. Create
  4. 提供 Name 并点 Create

现在,您可以分配权限并在新组编辑页面中添加用户。

2.4. 为组分配权限

您可以为 Automation Hub 中的组分配权限,以便用户访问系统中的特定功能。默认情况下,新组没有任何分配的权限。您可以在初始组创建时添加权限,或编辑现有组以添加或删除权限

先决条件

  • 您有 Change group 权限并可以在 Automation Hub 中编辑组权限。

流程

  1. 登录到您的本地 Automation Hub。
  2. 进入 User AccessGroups
  3. 点击组名称。
  4. 选择 Permissions 选项卡,然后点 Edit
  5. 点每个权限类型的项,然后选择列表中显示的权限。
  6. 完成后点 Save 来分配权限。

这个组现在可以访问 Automation Hub 中的功能,这些功能与其分配的权限相关联。

其他资源

2.5. 将用户添加到组中

您可以在创建组时将用户添加到组中,或者手动将用户添加到现有组中。本节论述了如何在现有组中添加用户。

先决条件

  • 您有权限,可以在 Automation Hub 中创建和管理组配置和访问权限。

流程

  1. 登录到 Automation Hub
  2. 进入 User AccessGroups
  3. 点一个组名称。
  4. 进入 Users 选项卡,然后单击 Add
  5. 从列表中选择要添加的用户,然后点 Add

现在,您已添加了您选择的用户。现在,这些用户有使用分配给组的 Automation Hub 的权限。

第 3 章 填充私有自动化中(automation hub)容器 registry

默认情况下,私有自动化中心不包括容器镜像。要填充容器 registry,您需要将容器镜像推送到其中。本节中的步骤描述了如何从红帽生态系统目录 (registry.redhat.io) 拉取镜像,标记镜像并将其推送到您的私有自动化中心容器 registry。

3.1. 先决条件

  • 有创建新容器并将容器推送到私有自动化中心的权限。

3.2. 获取用于自动化中心的镜像

在将容器镜像推送到私有自动化中心之前,您必须首先从现有 registry 中拉取容器镜像并标记它们以供使用。本例详细介绍了如何从红帽生态系统目录 (registry.redhat.io) 中拉取镜像。

先决条件

  • 有从 registry.redhat.io 拉取镜像的权限

流程

  1. 使用 registry.redhat.io 凭证登录到 Podman:

    $ podman login registry.redhat.io
  2. 在提示符处输入您的用户名和密码。
  3. 拉取容器镜像:

    $ podman pull registry.redhat.io/<container_image_name>:<tag>

验证

  1. 列出本地存储中的镜像:

    $ podman images
  2. 验证您最近拉取的镜像是否包含在列表中。
  3. 验证该标签是否正确。

其他资源

3.3. 用于自动化中心的标记镜像

从 registry 中拉取镜像后,标记它们以便在私有自动化中心容器 registry 中使用。

先决条件

  • 您已从外部 registry 中提取容器镜像。

流程

  • 使用自动化中心容器存储库标记本地镜像

    $ podman tag registry.redhat.io/<container_image_name>:<tag> <automation_hub_URL>/<container_image_name>

验证

  1. 列出本地存储中的镜像:

    $ podman images
  2. 验证您最近使用自动化中心信息标记的镜像是否包含在列表中。

3.4. 将容器镜像推送到私有自动化中心

您可以将标记的容器镜像推送到私有自动化中心,以创建新容器并填充容器 registry。

先决条件

  • 有创建新容器的权限。
  • 有自动化中心实例的 FQDN 或 IP 地址。

流程

  1. 使用您的自动化中心位置和凭证登录到 Podman:

    $ podman login -u=<username> -p=<password> <automation_hub_url>
  2. 将容器镜像推送到自动化中心容器 registry:

    $ podman push <automation_hub_url>/<container_image_name> --remove-signatures
    注意

    当 registry.redhat.io 的签名镜像被推送到自动化中心容器 registry 时,需要 --remove-signatures 标志。push 操作会在上传期间重新编译镜像层,无法保证可重复生成,依赖于客户端实施。这可能会导致镜像层摘要的变化,并导致推送操作失败,Error: Copying this image requires changing layer representation, which is not possible (image is signed or the destination specifies a digest)

验证

  1. 登录到您的自动化中心。
  2. 进入 Container Registry
  3. 在 container 存储库列表中找到容器。

第 4 章 设置容器存储库

您可以设置容器存储库来添加描述,包括 README,添加可以访问存储库的组,以及标记镜像。

4.1. 先决条件

  • 您有更改存储库的权限。

4.2. 将 README 添加到容器存储库中

将 README 添加到容器存储库,以向用户提供如何使用容器的说明。自动化中心容器存储库支持 Markdown 创建 README。默认情况下,README 将为空。

先决条件

  • 有更改容器的权限。

流程

  1. 进入 Execution Environments
  2. 选择您的容器存储库。
  3. Details 标签页中,点 Add
  4. Raw Markdown 文本字段中,使用 Markdown 格式输入您的 README 文本。
  5. 完成后点 Save

添加 README 后,您可以随时通过点 Edit 并重复步骤 4 和 5 对其进行编辑。

4.3. 提供对容器存储库的访问

向需要使用镜像的用户提供容器存储库的访问权限。通过添加组,您可以修改组对容器存储库的权限。您可以使用这个选项根据组分配的内容来扩展或限制权限。

先决条件

  • 您具有改变容器命名空间的权限。

流程

  1. 进入 Execution Environments
  2. 选择您的容器存储库。
  3. 点击窗口右上角的 Edit
  4. Groups with access 中选择要分配访问权限的一个或多个组。

    • 可选:使用该组名称下的下拉菜单为特定组添加或删除权限。
  5. 点击 Save

4.4. 标记容器镜像

标记镜像,为存储在自动化中心容器存储库中的镜像添加额外名称。如果没有向镜像添加任何标签,则自动化中心名称默认为 latest

先决条件

  • 您有更改镜像标签的权限。

流程

  1. 进入 Execution Environments
  2. 选择您的容器存储库。
  3. Images 选项卡。
  4. more actions ,然后点 Manage tags
  5. 在文本字段中添加新标签,然后点 Add

    • 可选:通过点该镜像的任何标签上的 x 来删除当前标签
  6. 点击 Save

验证

  1. Activity 选项卡,再检查最新的变化。

第 5 章 从容器存储库中拉取镜像

从自动化中心容器 registry 中拉取镜像,以便将镜像复制到本地机器。自动化中心为容器存储库中的每个 latest 镜像提供 podman pull 命令。您可以将此命令复制并粘贴到终端中,或者使用 podman pull 根据镜像标签复制镜像。

5.1. 先决条件

  • 您可以从私有容器中查看和拉取。

5.2. 拉取镜像

您可以从自动化中心容器 registry 中拉取镜像,以在本地机器中创建副本。自动化中心为容器存储库中的每个 latest 镜像提供 podman pull 命令。

先决条件

  • 您可以从私有容器查看和拉取镜像。

流程

  1. 进入 Execution Environments
  2. 选择您的容器存储库。
  3. Pull this image 条目中,点 Copy to clipboard
  4. 在终端中粘贴并运行命令。

验证

  1. 运行 podman images 以查看本地机器上的镜像。

5.3. 其他资源

  • 有关拉取镜像时要使用的选项,请参阅 Podman 文档

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.