5.16. パッケージマニフェストプロジェクトのバンドル形式への移行
Operator のレガシー パッケージマニフェスト形式 のサポートは、OpenShift Container Platform 4.8 以降で削除されます。パッケージマニフェスト形式で最初に作成された 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/
ディレクトリーを見てみましょう。
Package Manifest Format のレイアウトの例
移行の実行後に、以下のバンドルが bundle/
ディレクトリーに生成されます。
Bundle Format のレイアウトの例
この生成されたレイアウトに基づいて、両方のバンドルのバンドルイメージも以下の名前でビルドされます。
-
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 - 1
packagemanifests/
またはmanifests/
などのプロジェクトのパッケージマニフェストディレクトリーの場所を指定します。- 2
- オプション: デフォルトで、生成されたバンドルはローカルで
bundle/
ディレクトリーに書き込まれます。--output-dir
フラグを使用して、別の場所を指定することができます。 - 3
--image-tag-base
フラグを設定して、バンドルに使用されるquay.io/example/etcd
などのイメージ名のベースを提供します。イメージのタグはバンドルのバージョンに応じて設定されるため、タグを指定せずに名前を指定します。たとえば、完全なバンドルイメージ名は<image_name_base>:<bundle_version>
の形式で生成されます。
検証
生成されたバンドルイメージが正常に実行されることを確認します。
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