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 ...
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 ...
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 需要更改标签来更新容器镜像。