5.16. 将软件包清单项目迁移到捆绑包格式
OpenShift Container Platform 4.8 及更高版本中删除了对 Operator 的传统软件包清单格式的支持。如果您有一个最初使用软件包清单格式创建的 Operator 项目,您可以使用 Operator SDK 将项目迁移到捆绑包格式。从 OpenShift Container Platform 4.6 开始,捆绑包格式是 Operator Lifecycle Manager(OLM)的首选打包格式。
5.16.1. 关于打包格式迁移 复制链接链接已复制到粘贴板!
Operator SDK pkgman-to-bundle
命令有助于将 Operator Lifecycle Manager(OLM)软件包清单迁移到捆绑包。命令采用输入软件包清单目录,并为输入目录中存在的每个清单版本生成捆绑包。然后,您还可以为每个生成的捆绑包构建捆绑包镜像。
例如,以软件包清单格式考虑项目的以下 packagemanifests/
目录:
软件包清单格式布局示例
运行迁移后,bundle/
目录中会生成以下捆绑包:
捆绑包格式布局示例
根据生成的布局,两个捆绑包的捆绑包镜像也使用以下名称构建:
-
quay.io/example/etcd:0.0.1
-
quay.io/example/etcd:0.0.2
5.16.2. 迁移软件包清单项目到捆绑包格式 复制链接链接已复制到粘贴板!
Operator 作者可以使用 Operator SDK 将软件包清单格式 Operator 项目迁移到捆绑包格式项目。
先决条件
- 已安装 operator SDK CLI
- Operator 项目最初使用 Operator SDK 以软件包清单格式生成
流程
使用 Operator SDK 将软件包清单项目迁移到捆绑包格式并生成捆绑包镜像:
operator-sdk pkgman-to-bundle <package_manifests_dir> \ [--output-dir <directory>] \ --image-tag-base <image_name_base>
$ operator-sdk pkgman-to-bundle <package_manifests_dir> \
1 [--output-dir <directory>] \
2 --image-tag-base <image_name_base>
3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证生成的捆绑包镜像是否成功运行:
operator-sdk run bundle <bundle_image_name>:<tag>
$ operator-sdk run bundle <bundle_image_name>:<tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow