27.2. 为 overcloud 固定容器镜像
在某些情况下,您可能需要 overcloud 的一组特定容器镜像版本。在这种情况下,您必须将镜像固定到特定的版本。若要固定镜像,您必须创建 containers-prepare-parameter.yaml
文件,使用此文件将容器镜像拉取到 undercloud registry,并生成包含固定镜像列表的环境文件。
例如,containers-prepare-parameter.yaml
文件可能包含以下内容:
parameter_defaults: ContainerImagePrepare: - push_destination: true set: name_prefix: openstack- name_suffix: '' namespace: registry.redhat.io/rhosp-rhel9 neutron_driver: ovn tag_from_label: '{version}-{release}' ContainerImageRegistryCredentials: registry.redhat.io: myuser: 'p@55w0rd!'
ContainerImagePrepare
参数包含单个规则 set
。此规则 set
不得包含 tag
参数,且必须依赖 tag_from_label
参数来标识每个容器镜像的最新版本和发行版本。director 使用此规则 set
来标识每个容器镜像的最新版本,拉取每个镜像,并在 director 中的容器 registry 上标记每个镜像。
步骤
运行
openstack tripleo container image prepare
命令,该命令从containers-prepare-parameter.yaml
文件中定义的源中拉取所有镜像。包含--output-env-file
以指定将包含固定容器镜像列表的输出文件:$ sudo openstack tripleo container image prepare -e /home/stack/templates/containers-prepare-parameter.yaml --output-env-file overcloud-images.yaml
overcloud-images.yaml
文件是一个环境文件,包含服务参数到容器镜像映射。例如,OpenStack Identity (keystone) 使用ContainerKeystoneImage
参数来定义其容器镜像:ContainerKeystoneImage: undercloud.ctlplane.localdomain:8787/rhosp-rhel9/openstack-keystone:17.0
请注意,容器镜像标签与
{version}-{release}
格式匹配。在运行
openstack overcloud deploy
命令时,以特定顺序将containers-prepare-parameter.yaml
和overcloud-images.yaml
文件包含在环境文件集合中:$ openstack overcloud deploy --templates \ ... -e /home/stack/containers-prepare-parameter.yaml \ -e /home/stack/overcloud-images.yaml \ ...
overcloud 服务使用 overcloud-images.yaml
文件中列出的固定镜像。