3.2. Knative の設定
Knative を設定するには、必要な OpenShift Operator をインストールし、Knative チャネルを作成します。
3.2.1. OpenShift クラスターの準備
Kamelets および OpenShift Serverless を使用するには、以下の Operator、コンポーネント、および CLI ツールをインストールします。
Red Hat Integration - Camel K Operator および CLI ツール: Operator は Camel K (OpenShift のクラウドでネイティブに実行される軽量なインテグレーションフレームワーク) をインストールし、管理します。
kamel
CLI ツールを使用すると、すべての Camel K 機能にアクセスできます。Camel K のインストール のインストール手順を参照してください。
-
OpenShift Serverless Operator: サーバーレスを実行するためのコンテナー、マイクロサービス、および機能を有効にする API のコレクションです。Serverless アプリケーションはオンデマンドでスケールアップおよびスケールダウン (ゼロまで) でき、数多くのイベントソースによりトリガーされます。OpenShift Serverless Operator のインストール時に、これは
knative-serving
namespace (Knative Serving コンポーネントのインストール用) およびknative-eventing
namespace (Knative Eventing コンポーネントのインストールに必要) を自動的に作成します。 - Knative Eventing コンポーネント
- Knative Serving コンポーネント
-
Knative CLI ツール (
kn
): コマンドラインまたは Shell スクリプトから Knative リソースを作成できます。
3.2.1.1. OpenShift Serverless のインストール
OperatorHub から OpenShift クラスターに OpenShift Serverless Operator をインストールできます。OperatorHub は OpenShift Container Platform Web コンソールから使用でき、クラスター管理者が Operator を検出およびインストールするためのインターフェイスを提供します。
OpenShift Serverless Operator は、Knative Serving および Knative Eventing 機能の両方をサポートします。詳細は、installing OpenShift Serverless Operator を参照してください。
前提条件
- Camel K Operator がインストールされている OpenShift プロジェクトにクラスター管理者としてアクセスできる。
-
コマンドラインで OpenShift クラスターと対話できるように OpenShift CLI ツール (
oc
) をインストールしていること。OpenShift CLI のインストール方法の詳細は、Installing the OpenShift CLI を参照してください。
手順
- OpenShift Container Platform Web コンソールで、クラスター管理者権限を持つアカウントを使用してログインします。
- 左側のナビゲーションメニューで、Operators > OperatorHub とクリックします。
-
Filter by keyword テキストボックスで
Serverless
を入力し、OpenShift Serverless Operator を見つけます。 - Operator に関する情報を読み、Install をクリックして Operator サブスクリプションページを表示します。
デフォルトのサブスクリプション設定を選択します。
- Update Channel > OpenShift バージョンと一致するチャンネルを選択 (4.10 など)
- Installation Mode > All namespaces on the cluster
Approval Strategy > Automatic
注記ご使用の環境で必要な場合は Approval Strategy > Manual 設定も使用できます。
- Install をクリックし、Operator が使用できるようになるまでしばらく待ちます。
OpenShift ドキュメントの手順に従って、必要な Knative コンポーネントをインストールします。
(任意) OpenShift Serverless CLI ツールをダウンロードし、インストールします。
- OpenShift Web コンソールの上部にある Help メニュー (?) から、Command line tools を選択します。
- kn - OpenShift Serverless - Command Line Interface セクションまでスクロールダウンします。
- ローカルのオペレーティングシステム (Linux、Mac、Windows) のバイナリーをダウンロードするためのリンクをクリックします。
- CLI をデプロイメントしてシステムパスにインストールします。
kn
CLI にアクセスできることを確認するには、コマンドウィンドウを開き、以下のコマンドを入力します。kn --help
このコマンドは、OpenShift Serverless CLI コマンドに関する情報を表示します。
詳細は、OpenShift Serverless CLI documentation を参照してください。
関連情報
- OpenShift ドキュメントの Installing OpenShift Serverless
3.2.2. Knative チャネルの作成
Knative チャネルは、イベントを転送するカスタムリソースです。イベントがイベントソースまたは生成側からチャネルに送信された後に、これらのイベントはサブスクリプションを使用して複数の Knative サービスまたは他のシンクに送信できます。
この例では、開発の目的で OpenShift Serverless で使用する InMemoryChannel
チャネルを使用します。InMemoryChannel
タイプのチャネルには、以下の制限事項があることに注意してください。
- イベントの永続性は利用できません。Pod がダウンすると、その Pod のイベントが失われます。
-
InMemoryChannel
チャネルはイベントの順序を実装しないため、チャネルで同時に受信される 2 つのイベントはいずれの順序でもサブスクライバーに配信できます。 - サブスクライバーがイベントを拒否する場合、再配信はデフォルトで試行されません。Subscription オブジェクトの delivery 仕様を変更することで、再配信の試行を設定できます。
前提条件
- OpenShift Serverless Operator、Knative Eventing、および Knative Serving コンポーネントが OpenShift Container Platform クラスターにインストールされている。
-
*OpenShift Serverless CLI (
kn
) がインストールされている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
手順
- OpenShift クラスターにログインします。
インテグレーションアプリケーションを作成するプロジェクトを開きます。以下に例を示します。
oc project camel-k-knative
Knative (
kn
) CLI コマンドを使用してチャネルを作成します。kn channel create <channel_name> --type <channel_type>
たとえば、
mychannel
という名前のチャネルを作成するには、以下を実行します。kn channel create mychannel --type messaging.knative.dev:v1:InMemoryChannel
チャネルが存在することを確認するには、以下のコマンドを入力してすべての既存チャネルをリスト表示します。
kn channel list
チャネルがリストに表示されます。
3.2.3. Knative ブローカーの作成
Knative ブローカーは、CloudEvents のプールを収集するためのイベントメッシュを定義するカスタムリソースです。OpenShift Serverless は、kn
CLI を使用して作成できるデフォルト Knative ブローカーを提供します。
たとえば、アプリケーションが複数のイベントタイプを処理し、各イベントタイプのチャネルを作成したくない場合は、Kamelet Binding のブローカーを使用できます。
前提条件
- OpenShift Serverless Operator、Knative Eventing、および Knative Serving コンポーネントが OpenShift Container Platform クラスターにインストールされている。
-
*OpenShift Serverless CLI (
kn
) がインストールされている。 - OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するために、プロジェクトを作成しているか、適切なロールおよびパーミッションを持つプロジェクトにアクセスできる。
手順
- OpenShift クラスターにログインします。
インテグレーションアプリケーションを作成するプロジェクトを開きます。以下に例を示します。
oc project camel-k-knative
この Knative (
kn
) CLI コマンドを使用してブローカーを作成します。kn broker create default
ブローカーが存在することを確認するには、以下のコマンドを入力してすべての既存ブローカーをリスト表示します。
kn ブローカーリスト
デフォルトブローカーがリストに表示されるはずです。