6.2. 迁移到 oc-mirror 插件 v2
要从 oc-mirror 插件 v1 迁移到 v2,您必须手动更新 ImageSetConfiguration
文件,修改镜像命令并清理 v1 工件。按照以下步骤完成迁移。
流程
修改 API 版本并删除
ImageSetConfiguration
中的已弃用字段。带有 oc-mirror 插件 v1 配置的
ImageSetConfiguration
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 带有 oc-mirror 插件 v2 配置的
ImageSetConfiguration
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查工作目录中的 IDMS、ITMS、
CatalogSource
和ClusterCatalog
资源中的cluster-resources
目录:ls <v2_workspace>/working-dir/cluster-resources/
$ ls <v2_workspace>/working-dir/cluster-resources/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 迁移完成后,验证镜像的镜像和目录是否可用:
- 确保镜像过程中没有发生错误或警告。
-
确保没有生成错误文件(
working-dir/logs/mirroring_errors_YYYYMMdd_HHmmss.txt
)。
使用以下命令验证镜像镜像和目录是否可用:
oc get catalogsource -n openshift-marketplace
$ oc get catalogsource -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get imagedigestmirrorset,imagetagmirrorset
$ oc get imagedigestmirrorset,imagetagmirrorset
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅"使用 oc-mirror 插件 v2 为断开连接的安装镜像镜像"。
可选:使用 oc-mirror 插件 v1 删除镜像镜像:
- 使用 oc-mirror 插件 v1 镜像镜像。
将
ImageSetConfiguration
文件中的 API 版本从v1alpha2
(v1)更新至v2alpha1
(v2),然后运行以下命令:oc-mirror -c isc.yaml file://some-dir --v2
$ oc-mirror -c isc.yaml file://some-dir --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意storageConfig
不是ImageSetConfiguration
和DeleteImageSetConfiguration
文件中的有效字段。当升级到 oc-mirror 插件 v2 时删除此字段。运行以下命令生成删除清单并删除 v1 镜像:
oc-mirror delete --config=delete-isc.yaml --generate --delete-v1-images --workspace file://some-dir docker://registry.example:5000 --v2
$ oc-mirror delete --config=delete-isc.yaml --generate --delete-v1-images --workspace file://some-dir docker://registry.example:5000 --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要oc-mirror 插件 v2 不会自动修剪目标 registry,这与 oc-mirror 插件 v1 不同。要清理不再需要的镜像,请使用 v2 中的删除功能及
--delete-v1-images
命令标志。删除所有使用 oc-mirror 插件 v1 的镜像后,您不再需要使用此标志。如果您需要删除使用 oc-mirror 插件 v2 镜像,请不要设置
--delete-v1-images
。有关删除镜像的更多信息,请参阅"从断开连接的环境中删除镜像"。
运行以下命令,根据生成的清单删除镜像:
oc-mirror delete --delete-yaml-file some-dir/working-dir/delete/delete-images.yaml docker://registry.example:5000 --v2
$ oc-mirror delete --delete-yaml-file some-dir/working-dir/delete/delete-images.yaml docker://registry.example:5000 --v2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow