第7章 OLM 1.0 (テクノロジープレビュー)
7.1. Operator Lifecycle Manager 1.0 (テクノロジープレビュー) について
Operator Lifecycle Manager (OLM) は、最初のリリースから OpenShift Container Platform 4 に含まれています。OpenShift Container Platform 4.16 には、OLM の次世代イテレーションのためのコンポーネントがテクノロジープレビュー機能として追加されており、このフェーズでは OLM 1.0 として知られています。この更新されたフレームワークは、OLM の以前のバージョンの一部であった概念の多くを進化させ、新しい機能を追加します。
OLM 1.0 は、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
7.1.1. 主な特徴
OpenShift Container Platform 4.16 の OLM 1.0 のテクノロジープレビューフェーズ中に、管理者は以下の主要機能を試すことができます。
- GitOps ワークフローをサポートする完全な宣言型モデル
OLM 1.0 は、次の 2 つの主要な API を通じて拡張機能の管理を簡素化します。
新しい
ClusterExtension
API は、ユーザー向け API を単一のオブジェクトに統合することで、registry+v1
バンドル形式を介した Operator などのインストール済み拡張機能の管理を効率化します。この API は、新しい Operator Controller コンポーネントによってclusterextension.olm.operatorframework.io
として提供され、管理者と SRE が GitOps の原則を使用してプロセスを自動化し、望ましい状態を定義できるようにします。注記OLM 1.0 の以前のテクノロジープレビューフェーズでは、新しい
Operator
API が導入されました。この API は、OpenShift Container Platform 4.16 でClusterExtension
に名前が変更され、以下に対応します。- クラスターの機能を拡張する簡素化された機能をより正確に反映する
- より柔軟なパッケージ形式をより良く表現する
-
Cluster
の接頭辞がClusterExtension
オブジェクトがクラスタースコープであることを明確に示す。これは、Operator が namespace スコープまたはクラスタースコープのいずれかになる可能性がある従来の OLM からの変更です。
-
新しい catalogd コンポーネントによって提供される
Catalog
API は、OLM 1.0 の基盤として機能し、クラスター上のクライアント用にカタログを展開して、ユーザーが Kubernetes エクステンションや Operator などのインストール可能なコンテンツを検出できるようにします。これにより、詳細、チャネル、更新エッジなど、利用可能なすべての Operator バンドルバージョンの可視性が向上します。
詳細は、Operator Controller と Catalogd を参照してください。
- 拡張更新の制御の改善
- カタログの内容に対する洞察が向上したため、管理者はインストールと更新のターゲットバージョンを指定できます。これにより、管理者は拡張機能の更新の対象バージョンをより細かく制御できるようになります。詳細は、クラスター拡張機能の更新 を参照してください。
- 柔軟な拡張機能パッケージ形式
管理者は、従来の OLM エクスペリエンスと同様に、ファイルベースのカタログを使用して、OLM ベースの Operator などの拡張機能をインストールおよび管理できます。
さらに、バンドルサイズは etcd 値のサイズ制限によって制限されなくなりました。詳細は、カタログからの Operator のインストール を参照してください。
7.1.2. 目的
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 ではないクラスター機能拡張のライフサイクルを包含することを目指しています。