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 上标记每个镜像。

步骤

  1. 运行 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} 格式匹配。

  2. 在运行 openstack overcloud deploy 命令时,以特定顺序将 containers-prepare-parameter.yamlovercloud-images.yaml 文件包含在环境文件集合中:

    $ openstack overcloud deploy --templates \
        ...
        -e /home/stack/containers-prepare-parameter.yaml \
        -e /home/stack/overcloud-images.yaml \
        ...

overcloud 服务使用 overcloud-images.yaml 文件中列出的固定镜像。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.