2.2. 容器镜像准备命令用法
本节概述如何使用 openstack overcloud 容器镜像准备
命令,包括关于该命令的各种选项的概念信息。
为 Overcloud 生成容器镜像环境文件
openstack overcloud 容器镜像准备
命令的一个主要用途是创建含有 overcloud 使用的镜像列表的环境文件。您可以使用 overcloud 部署命令包括此文件,如 openstack overcloud deploy
。openstack overcloud
容器镜像准备命令将以下选项用于此功能:
--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 ...
环境文件还包含设置为 undercloud registry 的 IP 地址和端口的 DockerInsecureRegistryAddress
参数。此参数将 overcloud 节点配置为在没有 SSL/TLS 认证的情况下从 undercloud registry 访问镜像。
为导入方法生成容器镜像列表
如果要将 OpenStack Platform 容器镜像导入到其他 registry 源,您可以生成镜像列表。列表语法主要用于将容器镜像导入到 undercloud 上的容器注册表,但您可以修改此列表的格式,以适应其他导入方法,如 Red Hat Satellite 6。
openstack overcloud
容器镜像准备命令将以下选项用于此功能:
--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
容器镜像准备命令使用以下选项来设置容器镜像的源位置,以拉取:
--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
标签来构造新标签。对于一个容器,版本
可能被设置为13.0
,release
可能会设置为34
,这会导致标签13.0-34
。
Red Hat Container Registry 使用特定的版本格式来标记所有 Red Hat OpenStack Platform 容器镜像。此版本格式为 {version}-{release}
,每个容器镜像都作为容器元数据中的标签存储。这个版本格式有助于从一个 {release}
更新至下一个版本。因此,在运行 openstack overcloud 容器镜像准备
命令时,必须始终使用 --tag-from-label {version}-{release}
。不要自行使用 --tag
来拉取容器镜像。例如,使用 --tag latest
本身会在执行更新时导致问题,因为 director 需要更改标签来更新容器镜像。