在私有自动化中心(automation hub)中管理容器
用于配置私有自动化中心容器 registry 和软件仓库的管理员工作流和流程。
摘要
使开源包含更多
红帽致力于替换我们的代码、文档和 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 中创建和管理组配置和访问权限。
流程
- 登录到您的本地 Automation Hub。
- 进入 User Access → Groups。
- 点 Create。
- 提供 Name 并点 Create。
现在,您可以分配权限并在新组编辑页面中添加用户。
2.4. 为组分配权限
您可以为 Automation Hub 中的组分配权限,以便用户访问系统中的特定功能。默认情况下,新组没有任何分配的权限。您可以在初始组创建时添加权限,或编辑现有组以添加或删除权限
先决条件
- 您有 Change group 权限并可以在 Automation Hub 中编辑组权限。
流程
- 登录到您的本地 Automation Hub。
- 进入 User Access → Groups。
- 点击组名称。
- 选择 Permissions 选项卡,然后点 Edit。
- 点每个权限类型的项,然后选择列表中显示的权限。
- 完成后点 Save 来分配权限。
这个组现在可以访问 Automation Hub 中的功能,这些功能与其分配的权限相关联。
其他资源
- 请参阅 Container registry group permissions 来了解更多有关特定权限的信息。
2.5. 将用户添加到组中
您可以在创建组时将用户添加到组中,或者手动将用户添加到现有组中。本节论述了如何在现有组中添加用户。
先决条件
- 您有组权限,可以在 Automation Hub 中创建和管理组配置和访问权限。
流程
- 登录到 Automation Hub
- 进入 User Access → Groups。
- 点一个组名称。
- 进入 Users 选项卡,然后单击 Add。
- 从列表中选择要添加的用户,然后点 Add。
现在,您已添加了您选择的用户。现在,这些用户有使用分配给组的 Automation Hub 的权限。
第 3 章 填充私有自动化中(automation hub)容器 registry
默认情况下,私有自动化中心不包括容器镜像。要填充容器 registry,您需要将容器镜像推送到其中。本节中的步骤描述了如何从红帽生态系统目录 (registry.redhat.io) 拉取镜像,标记镜像并将其推送到您的私有自动化中心容器 registry。
3.1. 先决条件
- 有创建新容器并将容器推送到私有自动化中心的权限。
3.2. 获取用于自动化中心的镜像
在将容器镜像推送到私有自动化中心之前,您必须首先从现有 registry 中拉取容器镜像并标记它们以供使用。本例详细介绍了如何从红帽生态系统目录 (registry.redhat.io) 中拉取镜像。
先决条件
- 有从 registry.redhat.io 拉取镜像的权限
流程
使用 registry.redhat.io 凭证登录到 Podman:
$ podman login registry.redhat.io
- 在提示符处输入您的用户名和密码。
拉取容器镜像:
$ podman pull registry.redhat.io/<container_image_name>:<tag>
验证
列出本地存储中的镜像:
$ podman images
- 验证您最近拉取的镜像是否包含在列表中。
- 验证该标签是否正确。
其他资源
- 有关注册和获取镜像的信息,请参阅 Red Hat 生态系统目录帮助。
3.3. 用于自动化中心的标记镜像
从 registry 中拉取镜像后,标记它们以便在私有自动化中心容器 registry 中使用。
先决条件
- 您已从外部 registry 中提取容器镜像。
流程
使用自动化中心容器存储库标记本地镜像
$ podman tag registry.redhat.io/<container_image_name>:<tag> <automation_hub_URL>/<container_image_name>
验证
列出本地存储中的镜像:
$ podman images
- 验证您最近使用自动化中心信息标记的镜像是否包含在列表中。
3.4. 将容器镜像推送到私有自动化中心
您可以将标记的容器镜像推送到私有自动化中心,以创建新容器并填充容器 registry。
先决条件
- 有创建新容器的权限。
- 有自动化中心实例的 FQDN 或 IP 地址。
流程
使用您的自动化中心位置和凭证登录到 Podman:
$ podman login -u=<username> -p=<password> <automation_hub_url>
将容器镜像推送到自动化中心容器 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)
。
验证
- 登录到您的自动化中心。
- 进入 Container Registry。
- 在 container 存储库列表中找到容器。
第 4 章 设置容器存储库
您可以设置容器存储库来添加描述,包括 README,添加可以访问存储库的组,以及标记镜像。
4.1. 先决条件
- 您有更改存储库的权限。
4.2. 将 README 添加到容器存储库中
将 README 添加到容器存储库,以向用户提供如何使用容器的说明。自动化中心容器存储库支持 Markdown 创建 README。默认情况下,README 将为空。
先决条件
- 有更改容器的权限。
流程
- 进入 Execution Environments。
- 选择您的容器存储库。
- 在 Details 标签页中,点 Add。
- 在 Raw Markdown 文本字段中,使用 Markdown 格式输入您的 README 文本。
- 完成后点 Save。
添加 README 后,您可以随时通过点 Edit 并重复步骤 4 和 5 对其进行编辑。
4.3. 提供对容器存储库的访问
向需要使用镜像的用户提供容器存储库的访问权限。通过添加组,您可以修改组对容器存储库的权限。您可以使用这个选项根据组分配的内容来扩展或限制权限。
先决条件
- 您具有改变容器命名空间的权限。
流程
- 进入 Execution Environments。
- 选择您的容器存储库。
- 点击窗口右上角的 Edit。
在 Groups with access 中选择要分配访问权限的一个或多个组。
- 可选:使用该组名称下的下拉菜单为特定组添加或删除权限。
- 点击 Save。
4.4. 标记容器镜像
标记镜像,为存储在自动化中心容器存储库中的镜像添加额外名称。如果没有向镜像添加任何标签,则自动化中心名称默认为 latest
。
先决条件
- 您有更改镜像标签的权限。
流程
- 进入 Execution Environments。
- 选择您的容器存储库。
- 点 Images 选项卡。
- 点 ,然后点 Manage tags。
在文本字段中添加新标签,然后点 Add。
- 可选:通过点该镜像的任何标签上的 x 来删除当前标签。
- 点击 Save。
验证
- 点 Activity 选项卡,再检查最新的变化。
第 5 章 从容器存储库中拉取镜像
从自动化中心容器 registry 中拉取镜像,以便将镜像复制到本地机器。自动化中心为容器存储库中的每个 latest
镜像提供 podman pull
命令。您可以将此命令复制并粘贴到终端中,或者使用 podman pull
根据镜像标签复制镜像。
5.1. 先决条件
- 您可以从私有容器中查看和拉取。
5.2. 拉取镜像
您可以从自动化中心容器 registry 中拉取镜像,以在本地机器中创建副本。自动化中心为容器存储库中的每个 latest
镜像提供 podman pull
命令。
先决条件
- 您可以从私有容器查看和拉取镜像。
流程
- 进入 Execution Environments。
- 选择您的容器存储库。
- 在 Pull this image 条目中,点 Copy to clipboard。
- 在终端中粘贴并运行命令。
验证
-
运行
podman images
以查看本地机器上的镜像。
5.3. 其他资源
- 有关拉取镜像时要使用的选项,请参阅 Podman 文档。