第7章 OLM 1.0 (テクノロジープレビュー)
7.1. Operator Lifecycle Manager 1.0 (テクノロジープレビュー) について
Operator Lifecycle Manager (OLM) は、最初のリリースから OpenShift Container Platform 4 に含まれています。OpenShift Container Platform 4.14 では、OLM の次世代イテレーションのためのコンポーネントがテクノロジープレビュー機能として導入されており、このフェーズでは OLM 1.0 として知られています。この更新されたフレームワークは、OLM の以前のバージョンの一部であった概念の多くを進化させ、新しい機能を追加します。
OLM 1.0 は、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
OpenShift Container Platform 4.14 の OLM 1.0 のテクノロジープレビューフェーズ中に、管理者は以下の機能を試すことができます。
- GitOps ワークフローをサポートする完全な宣言型モデル
OLM 1.0 は、次の 2 つの主要な API を通じて Operator 管理を簡素化します。
-
新しい Operator Controller コンポーネントによって
operators.operators.operatorframework.io
として提供される新しいOperator
API は、ユーザー向け API を単一のオブジェクトに統合することで、インストールされた Operator の管理を合理化します。これにより、管理者と SRE は、GitOps 原則を使用してプロセスを自動化し、望ましい状態を定義できるようになります。 -
新しい catalogd コンポーネントによって提供される
Catalog
API は、OLM 1.0 の基盤として機能し、クラスター上のクライアント用にカタログを展開して、ユーザーが Operator や Kubernetes エクステンションなどのインストール可能なコンテンツを検出できるようにします。これにより、詳細、チャネル、更新エッジなど、利用可能なすべての Operator バンドルバージョンの可視性が向上します。
詳細は、Operator Controller と Catalogd を参照してください。
-
新しい Operator Controller コンポーネントによって
- Operator 更新に対する制御の向上
- カタログの内容に対する洞察が向上したため、管理者はインストールと更新のターゲットバージョンを指定できます。これにより、管理者は Operator 更新のターゲットバージョンをより詳細に制御できるようになります。詳細は、Operator の更新 を参照してください。
- 柔軟な Operator パッケージ形式
管理者は、ファイルベースのカタログを使用して、次のタイプのコンテンツをインストールおよび管理できます。
- 既存の OLM エクスペリエンスと同様の OLM ベースの Operator
- プレーンバンドル (任意の Kubernetes マニフェストの静的コレクション)
さらに、バンドルサイズは etcd 値のサイズ制限によって制限されなくなりました。詳細は、カタログから Operator をインストールする および プレインバンドルの管理 を参照してください。
7.1.1. 目的
Operator Lifecycle Manager (OLM) の使命は、Kubernetes クラスター上でクラスター拡張機能のライフサイクルを一元的かつ宣言的に管理することです。これは、基盤となるクラスターのライフサイクル全体を通じて、クラスターおよび PaaS (platform-as-a-service) 管理者によるクラスターへの機能拡張のインストール、実行、更新を簡単、安全、再現可能にすることを目的としています。
OpenShift Container Platform 4 で導入された OLM の初期バージョン (デフォルトで含まれています) は、クラスター機能拡張に対するこのような具体的なニーズを、独自の方法でサポートすることを重視していました。それが Operator です。Operator は 1 つ以上の Kubernetes コントローラーとして分類され、クラスターに追加機能を提供するための CustomResourceDefinition
(CRD) オブジェクトとして、1 つ以上の API 機能拡張とともに出荷されます。
多くのリリースにおいて実稼働クラスターで実行された後、次世代の OLM では単なる Operator ではないクラスター機能拡張のライフサイクルを包含することを目指しています。