3.3. 容器镜像标记准则
Red Hat Container Registry 使用特定的版本格式来标记所有 Red Hat OpenStack Platform 容器镜像。此格式遵循每个容器的标签元数据,即 version-release
。
- version
- 对应于 Red Hat OpenStack Platform 的主要和次要版本。这些版本充当包含一个或多个发行版本的流。
- release
- 对应于版本流中特定容器镜像版本的发行版本。
例如,如果最新版本的 Red Hat OpenStack Platform 是 17.0.0,容器镜像的版本为 5.161
,则容器镜像生成的标签为 17.0.0-5.161。
Red Hat Container Registry 还使用一组主要和次要 version
标签,链接到该容器镜像版本的最新发行版本。例如,17.0 和 17.0.0 链接到 17.0.0 容器流中 最新版本的
链接。如果发生 17.0 的新次要版本,17.0 标签链接到 新次要发行版本
流的最新发行版本,而 17.0.0 标签则继续链接到 17.0.0 流中的最新版本。
ContainerImagePrepare
参数包含两个子参数,可用于确定要下载的容器镜像。这些子参数是 set
字典中的 tag
参数,以及 tag_from_label
参数。使用以下准则来确定要使用 tag
还是 tag_from_label
。
tag
的默认值是您的 OpenStack Platform 版本的主要版本。对于此版本,它是 17.0。这始终对应于最新的次要版本和发行版本。parameter_defaults: ContainerImagePrepare: - set: ... tag: 17.0 ...
要更改为 OpenStack Platform 容器镜像的特定次要版本,请将标签设置为次要版本。例如,若要更改为 17.0.2,可将
tag
设置为 17.0.2。parameter_defaults: ContainerImagePrepare: - set: ... tag: 17.0.2 ...
-
在设置
tag
时,director 始终会在安装和更新期间下载tag
中设置的版本的最新容器镜像release
。 如果没有设置
tag
,则 director 会结合使用tag_from_label
的值和最新的主要版本。parameter_defaults: ContainerImagePrepare: - set: ... # tag: 17.0 ... tag_from_label: '{version}-{release}'
tag_from_label
参数根据其从 Red Hat Container Registry 中检查到的最新容器镜像发行版本的标签元数据生成标签。例如,特定容器的标签可能会使用以下version
和release
元数据:"Labels": { "release": "5.161", "version": "17.0.0", ... }
-
tag_from_label
的默认值为{version}-{release}
,对应于每个容器镜像的版本和发行版本元数据标签。例如,如果容器镜像为version
设置 17.0.0,并且为发行版本
设置了 5.161,则容器镜像生成的标签为 17.0.0-5.161。 -
tag
参数始终优先于tag_from_label
参数。要使用tag_from_label
,在容器准备配置中省略tag
参数。 -
tag
和tag_from_label
之间的一个关键区别是:director 仅基于主要或次要版本标签使用tag
拉取镜像,Red Hat Container Registry 将这些标签链接到版本流中的最新镜像发行版本,而 director 使用tag_from_label
对每个容器镜像执行元数据检查,以便 director 生成标签并拉取对应的镜像。