Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

2.2. 容器镜像准备命令使用

本节概述了如何使用 openstack overcloud container image prepare 命令,包括命令的各种选项的概念信息。

为 Overcloud 生成容器镜像环境文件

openstack overcloud container image prepare 命令的一个主要用途是创建一个包含 overcloud 使用的镜像列表的环境文件。您可以使用 overcloud 部署命令包含此文件,如 openstack overcloud deployopenstack overcloud container image prepare 命令使用以下选项进行此功能:

--output-env-file
定义生成的环境文件名称。

以下片段是此文件的内容示例:

parameter_defaults:
  DockerAodhApiImage: registry.redhat.io/rhosp13/openstack-aodh-api:13.0-34
  DockerAodhConfigImage: registry.redhat.io/rhosp13/openstack-aodh-api:13.0-34
...

该环境文件还包含 DockerInsecureRegistryAddress 参数设置为 undercloud registry 的 IP 地址和端口。此参数配置 overcloud 节点,以在没有 SSL/TLS 认证的情况下从 undercloud registry 访问镜像。

为导入方法生成容器镜像列表

如果要将 OpenStack Platform 容器镜像导入到不同的 registry 源,您可以生成镜像列表。列表的语法主要用于将容器镜像导入到 undercloud 上的容器 registry,但您可以修改此列表的格式以适应其他导入方法,如 Red Hat Satellite 6。

openstack overcloud container image prepare 命令使用以下选项进行此功能:

--output-images-file
定义导入列表生成的文件名。

以下是此文件内容的示例:

container_images:
- imagename: registry.redhat.io/rhosp13/openstack-aodh-api:13.0-34
- imagename: registry.redhat.io/rhosp13/openstack-aodh-evaluator:13.0-34
...

为容器镜像设置命名空间

--output-env-file--output-images-file 选项都需要命名空间来生成生成的镜像位置。openstack overcloud container image prepare 命令使用以下选项来设置要拉取的容器镜像的源位置:

--namespace
定义容器镜像的命名空间。这通常是带有目录的主机名或 IP 地址。
--prefix
定义在镜像名称之前添加的前缀。

因此,director 使用以下格式生成镜像名称:

  • [NAMESPACE]/[PREFIX][IMAGE NAME]

设置容器镜像标签

--tag--tag-from-label 选项一起使用为每个容器镜像设置标签。

--tag
为来自源的所有镜像设置特定标签。如果您只使用这个选项,director 会使用此标签拉取所有容器镜像。但是,如果您将这个选项与 --tag-from-label 结合使用,director 将使用 --tag 作为源镜像来根据标签识别特定版本标签。--tag 选项默认设置为 latest
--tag-from-label
使用指定容器镜像标签的值来发现和拉取每个镜像的 versioned 标签。director 会检查使用您为 --tag 设置的值标记的每个容器镜像,然后使用容器镜像标签来构建一个新的标签,director 从 registry 中拉取新标签。例如,如果您设置了 --tag-from-label {version}-{release},director 将使用 versionrelease 标签来构建新标签。对于一个容器,version 可能会设置为 13.0release 可能会设置为 34,这会导致标签 13.0-34
重要

Red Hat Container Registry 使用特定的版本格式来标记所有 Red Hat OpenStack Platform 容器镜像。此版本格式为 {version}-{release},每个容器镜像都作为标签存储在容器元数据中。这个版本格式有助于减少从一个 {release} 到下一个版本的更新。因此,在运行 openstack overcloud container image prepare 命令时,您必须始终使用 --tag-from-label {version}-{release}。不要单独使用 --tag 来拉取容器镜像。例如,使用 --tag latest 会导致执行更新时出现问题,因为 director 需要更改标签来更新容器镜像。