第6章 Open Liberty Operator

Operator は、Kubernetes または OpenShift が提供する初期自動化以外のタスクを自動化できるようにカスタマイズされる Kubernetes の拡張機能です。Open Liberty Operator は、Kubernetes ベースのクラスターでアプリケーションをデプロイし、管理できるようにします。

6.1. Open Liberty Operator とは

Open Liberty Operator でアプリケーションをデプロイする場合、Operator は Open Liberty リソースを監視し、リソースの現在の状態を、設定したリソースの状態と比較します。リソースの現在の状態と、設定した状態の間に不一致が存在する場合は、Operator は Kubernetes リソースの作成、更新、または削除を行い、設定した状態に戻ります。これらの Kubernetes リソースには、デプロイメントサービス、または ルート が含まれる可能性があります。Operator なしでは、デプロイメント、サービス、ルートその他の Kubernetes リソースを手動で作成する必要があります。これには、時間のかかる学習曲線が関係する可能性があります。Operator を使用して、アプリケーションイメージ、サービスポート、およびクラスター外部でアプリケーションを公開するかどうかなど、アプリケーションの詳細を指定できます。次に、Operator はすべての Kubernetes リソースを作成し、管理します。今回のリリースより、多くのリソースではなく、単一の OpenLibertyApplication リソースのみを管理するようになりました。さらに、Operator はクラスター内のアプリケーションに関連するイベントを継続的に監視し、データおよびリソースを同期するために必要なアクションを実行します。Operator は Kubernetes リソースの管理を容易にするため、Operator はクラウドデプロイメントの詳細を多く処理しながらアプリケーションに集中することができます。

Open Liberty Operator は Runtime Component Operator をベースとしています。これはランタイム固有の Operator にインポートして標準化されたエンタープライズ機能を提供するための汎用演算子です。そのため、イメージストリームの使用や高可用性のためにアプリケーションの複数のインスタンスを実行する機能など、これらの 2 つの Operator 間に共通機能が存在します。Open Liberty Operator を使用すると、Operator コンテナーおよびコントローラーは Kubernetes Pod にデプロイされ、Operator は kind: OpenLibertyApplication ステートメントで受信リソースをリッスンし ます。OpenLibertyApplication カスタムリソース(CR ) を作成する場合、Operator はアプリケーションがクラスターで実行されるために必要な Kubernetes リソースを管理します。