This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.14. 将软件包清单项目迁移到捆绑包格式
OpenShift Container Platform 4.8 及更高版本中删除了对 Operator 的传统软件包清单格式的支持。如果您有一个最初使用软件包清单格式创建的 Operator 项目,您可以使用 Operator SDK 将项目迁移到捆绑包格式。从 OpenShift Container Platform 4.6 开始,捆绑包格式是 Operator Lifecycle Manager(OLM)的首选打包格式。
5.14.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.14.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