5.3. 更新パス
インストールされたクラスター拡張機能の 更新パス (アップグレードエッジまたはアップグレード制約とも呼ばれる) を決定する場合、Operator Lifecycle Manager (OLM) v1 は、OpenShift Container Platform 4.16 以降、OLM (Classic) セマンティクスをサポートします。このサポートは、replaces、skips、skipRange ディレクティブを含め、OLM (Classic) の動作に従いますが、いくつかの違いがあります。
OLM (Classic) セマンティクスをサポートすることにより、OLM v1 はカタログからの更新グラフを正確に反映します。
元の OLM (Classic) 実装との違い
複数の後継候補がある場合の OLM v1 の動作は、次のように異なります。
- OLM (Classic) では、チャネルヘッドに最も近い後継が選択されます。
- OLM v1 では、後継の中でセマンティックバージョン (semver) が最も大きいものが選択されます。
次のファイルベースカタログ (FBC) チャネルエントリーのセットを検討してください。
# ... - name: example.v3.0.0 skips: ["example.v2.0.0"] - name: example.v2.0.0 skipRange: >=1.0.0 <2.0.01.0.0がインストールされている場合、OLM v1 の動作は次のように異なります。-
v2.0.0がスキップされ、replacesチェーン上にないため、OLM (Classic) はv2.0.0への更新パスを検出しません。 -
OLM v1 には
replacesチェーンの概念がないため、OLM v1 は更新パスを検出します。OLM v1 は、現在インストールされているバージョンに対応するreplace、skip、またはskipRangeの値を持つすべてのエントリーを検索します。
-
5.3.1. バージョン範囲のサポート リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) v1 では、Operator または拡張機能のカスタムリソース (CR) で比較文字列を使用してバージョン範囲を指定できます。CR でバージョン範囲を指定すると、OLM v1 は、そのバージョン範囲内で解決できる Operator の最新バージョンをインストールまたは更新します。
解決されるバージョンのワークフロー
- 解決されるバージョンは、Operator と環境の制約を満たす Operator の最新バージョンです。
- 正常に解決された場合、指定された範囲内の Operator 更新は自動的にインストールされます。
- 指定された範囲外にある場合、または正常に解決できない場合、その更新はインストールされません。