2.4.4. Operator Lifecycle Manager の依存関係の解決
以下で、OpenShift Container Platform の Operator Lifecycle Manager (OLM) での依存関係の解決およびカスタムリソース定義 (CRD) アップグレードライフサイクルを説明します。
2.4.4.1. 依存関係の解決 リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) は、実行中の Operators の依存関係の解決とアップグレードのライフサイクルを管理します。多くの場合、OLM が直面する問題は、yum や rpm などの他のシステムまたは言語パッケージマネージャーと同様です。
ただし、OLM にはあるものの、通常同様のシステムにはない 1 つの制約があります。Operators は常に実行されており、OLM は相互に機能しない Operators のセットの共存を防ごうとします。
その結果、以下のシナリオで OLM を使用しないでください。
- 提供できない API を必要とする Operators のセットのインストール
- Operator と依存関係のあるものに障害を発生させる仕方での Operator の更新
これは、次の 2 種類のデータで可能になります。
| プロパティー | Operator に関する型付きのメタデータ。これは、依存関係のリゾルバーで Operator の公開インターフェイスを構成します。例としては、Operator が提供する API の group/version/kind (GVK) や Operator のセマンティックバージョン (semver) などがあります。 |
| 制約または依存関係 | ターゲットクラスターにすでにインストールされているかどうかに関係なく、他の Operators が満たす必要のある Operator の要件。これらは、使用可能なすべての Operators に対するクエリーまたはフィルターとして機能し、依存関係の解決およびインストール中に選択を制限します。クラスターで特定の API が利用できる状態にする必要がある場合や、特定のバージョンに特定の Operator をインストールする必要がある場合など、例として挙げられます。 |
OLM は、これらのプロパティーと制約をブール式のシステムに変換して SAT ソルバーに渡します。これは、ブールの充足可能性を確立するプログラムであり、インストールする Operators を決定する作業を行います。