セクションを選択

Red Hat OpenShift Operator とは

URL をコピー

Red Hat® OpenShift® Operator は、Kubernetes ネイティブのアプリケーションのインスタンスの作成、構成、および管理を自動化します。Operator は、プラットフォームを構成する部分の管理から、マネージドサービスとして提供されるアプリケーションに至るまで、スタックのあらゆるレベルで自動化を提供します。

Red Hat OpenShift は、Operator の機能を使用してプラットフォーム全体を自律的に実行し、Kubernetes オブジェクトを通じて構成をネイティブに公開します。これにより、インストールを迅速に実行でき、アップデートを頻繁かつ確実に行います。プラットフォームの管理に Operator の自動化を活用できるというメリットに加え、Red Hat OpenShift によって、クラスタで実行されている Operator の検索、インストール、管理が容易になります。

Red Hat OpenShift には組み込み OperatorHub が含まれています。これはソフトウェアベンダーやオープンソースプロジェクトからの認定済みの Operator のレジストリです。組み込み OperatorHub では、Red Hat OpenShift で動作することが検証済みで、ライフサイクル管理が容易になるようにパッケージされている Operator のライブラリを参照してインストールできます。

 

 

Kubernetes Operator は、Kubernetes ネイティブのアプリケーションをパッケージ、デプロイ、管理する手段です。Kubernetes ネイティブのアプリケーションとは、Kubernetes にデプロイされ、Kubernetes API と kubectl ツールを使用して管理されるアプリケーションです。

Operator は本質的にカスタムコントローラーです。

コントローラーは Kubernetes の主要概念であり、Kubernetes マスターノードで継続的に実行されるソフトウェアループとして実装され、オブジェクトの望ましい状態と現在の状態を比較し、必要に応じて調整します。オブジェクトは、Pod、Service、ConfigMap、PersistentVolume などのよく知られたリソースです。Operator は、このモデルをアプリケーション全体のレベルで適用します。実質的にはアプリケーション固有のコントローラーです。

Operator はクラスタ上の Pod で稼働するソフトウェアの一部であり、Kubernetes API サーバーと対話します。Kubernetes の拡張メカニズムであるカスタムリソース定義を通じて新しいオブジェクトタイプを導入します。基本的にこれらのカスタムオブジェクトがユーザーのインタフェースとなるため、リソースベースで操作する Kubernetes クラスタと同様に扱えます。

Operator は、これらのタイプのカスタムリソースを監視し、その存在または変更について通知を受けます。Operator はこの通知を受け取ると、ループの実行を開始して、これらのオブジェクトによるアプリケーションサービスに必要なすべての接続が実際に利用可能であり、ユーザーがオブジェクトの仕様で示した方法で構成されていることを確認します。

e ブック

O’Reilly:Kubernetes Operators:コンテナ・オーケストレーション・プラットフォームの自動化

Operator の機能、および Operator Framework と SDK による Operator のビルドの例をご覧ください。

Operator Framework は、Operator の開発とデプロイをスピードアップするツールを開発者とクラスタ管理者に提供するオープンソース・プロジェクトです。

このプロジェクトには、Kubernetes アプリケーションを構築するための Operator ソフトウェア開発キット (SDK)、Kubernetes を Operator で拡張するための管理フレームワーク、Kubernetes コミュニティからの既存の Operator のカタログが含まれています。

コミュニティの Operator

コミュニティの Operator を利用することで、開発者とクラスタ管理者は、さまざまな成熟度レベルの Operator を任意の Kubernetes で試用することができます。OperatorHub.io でコミュニティの Operator を確認できます。

認定 Operator

組み込み OperatorHub にある Red Hat OpenShift 認定 Operator を使用すると、開発者とクラスタ管理者は、Red Hat OpenShift で検証済みで、Red Hat とそのパートナーがサポートする「サービスとしての」ワークロードのライブラリにアクセスできます。

Operator ソフトウェア開発キット (SDK) は、Operator をビルド、テスト、パッケージするためのツールを提供します。SDK は、Kubernetes API との統合に通常必要とされるボイラープレートコードの多くを取り除きます。また、開発者がビジネスロジック (管理するアプリケーションのスケーリング、アップグレード、バックアップの方法など) の追加に集中できるように、使用可能なスキャフォールディングも提供します。SDK には Operator 間で共有される主要な手法とコードパターンが含まれており、作業の重複を防ぐのに役立ちます。また、SDK は、Operator の基本的な検証を可能にするツールと、Operator Lifecycle Manager を使用するデプロイメント用に自動化されたパッケージ機能により、短期で反復型の開発とテストサイクルを促進します。

 

Operator SDK: Build, test, iterate

 

Operator Lifecycle Manager (OLM) は、Kubernetes クラスタ上の Operator の管理を容易にするバックプレーンです。人気のあるアプリケーションをサービスとして提供する Operator は、長期的なワークロードになり、クラスタに対する多くの権限を持つ場合があります。

OLM を使用すると、管理者は、どの名前空間でどの Operator が使用可能か、誰が実行中の Operator を操作できるかを制御できます。Operator の権限は、自動的に最小特権のアプローチに従うように正確に構成されます。OLM は、他の Operator での依存関係の解消、Operator とそれが管理するアプリケーションの両方での更新のトリガー、クラスタのスライスに関する Operator へのアクセス許可などを行って、Operator とそのリソースのライフサイクル全体を管理します。

シンプルでステートレスなアプリケーションは、汎用 Operator (Helm Operator など) を使用することで、コードを記述せずに、Operator Framework の Lifecycle Management 機能を使用できます。しかし、Operator が特に有用なのは、複雑でステートフルなアプリケーションの扱いに関してでしょう。Operator コードにエンコードされたマネージドサービス機能は、高度なユーザーエクスペリエンスを提供し、更新、バックアップ、スケーリングなどの機能を自動化します。

 

 

Operator Lifecycle Manager: Install and update across clusters

 

メータリング拡張機能を使用すると、IT チームは予算をより詳細に管理でき、ソフトウェアベンダーは商用ソフトウェアの使用状況をより簡単に追跡できます。Operator Metering は、クラスタの CPU とメモリーレポートに関連付けるだけでなく、IaaS コストやライセンス供与などのカスタマイズされたメトリクスを計算するように設計されています。

関連資料

e ブック

Kubernetes 環境でのアプリケーション管理を単純化する

Helm と Kubernetes Operator は、開発者の生産性を向上させ、アプリケーションのデプロイを単純化し、アップデートとアップグレードを効率化するのに役立ちます。

記事

Kubernetes Operator とは

Kubernetes Operator は、Kubernetes アプリケーションをパッケージ、デプロイ、管理する手段です。

記事

Red Hat OpenShift Serverless を選ぶ理由

Red Hat OpenShift Serverless は Kubernetes を拡張し、サーバーレス・ワークロードのデプロイと管理ができるようにします。 

OpenShift の詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

コンテナのスピンアップおよびスピンダウン時に環境全体でデータを永続的に保存できるソフトウェア・デファインド・ストレージ。

クラウドネイティブ・アプリケーションのより安全な構築、デプロイ、実行を可能にする、エンタープライズ向けの Kubernetes ネイティブのコンテナ・セキュリティ・ソリューション。

Kubernetes クラスタとアプリケーションを制御する、セキュリティポリシーを組み込んだ単一のコンソール。

リソース

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。