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
チャネルが一覧に表示されます。