2.2. 容器镜像准备命令使用
本节概述了如何使用 openstack overcloud container image prepare
命令,包括命令的各种选项的概念信息。
为 Overcloud 生成容器镜像环境文件
openstack overcloud container image prepare
命令的一个主要用途是创建一个包含 overcloud 使用的镜像列表的环境文件。您可以使用 overcloud 部署命令包含此文件,如 openstack overcloud deploy
。openstack 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 将使用version
和release
标签来构建新标签。对于一个容器,version
可能会设置为13.0
,release
可能会设置为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 需要更改标签来更新容器镜像。