3.3. Kamelet Binding でのデータソースの Knative 宛先への接続
データソースを Knative 宛先 (チャネルまたはブローカー) に接続するには、図 3.2 に示されるように Kamelet Binding を作成します。
図 3.2 データソースの Knative 宛先への接続
Knative 宛先は Knative チャネルまたは Knative ブローカーになります。
データをチャネルに送信する場合、チャネルには 1 つのイベントタイプのみがあります。Kamelet Binding でチャネルのプロパティー値を指定する必要はありません。
データをブローカーに送信する場合、ブローカーが複数のイベントタイプを処理できるため、Kamelet Binding でブローカーを参照する場合は、タイププロパティーの値を指定する必要があります。
前提条件
イベントの送信先となる Knative チャネルまたはブローカーの名前およびタイプを知っている必要があります。
この手順の例では、
mychannelという名前のInMemoryChannelチャネルまたはdefaultという名前のブローカーを使用します。ブローカーのサンプルでは、coffee イベントのtypeプロパティーが iscoffeeになります。Camel インテグレーションに追加する Kamelet と必要なインスタンスパラメーターを把握している。
この手順の Kamelet の例では、
coffee-sourceKamelet です。各イベントを送信する頻度を指定するオプションのパラメーターperiodがあります。ソース Kamelet の例 のコードを、coffee-source.kamelet.yamlファイルという名前のファイルにコピーしてから、以下のコマンドを実行して、これをリソースとして namespace に追加できます。oc apply -f coffee-source.kamelet.yaml
手順
データソースを Knative 宛先に接続するには、Kamelet Binding を作成します。
任意のエディターで、以下の基本構造で YAML ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding の名前を追加します。この例では、バインディングが
coffee-sourceKamelet を Knative 宛先に接続するため、名前はcoffees-to-knativeになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding のソースの場合は、データソース Kamelet を指定し (たとえば、
coffee-sourceKamelet はコーヒーに関するデータが含まれるイベントを生成します)、Kamelet のパラメーターを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding のシンクでは、Knative チャネルまたはブローカーおよび必要なパラメーターを指定します。
以下の例では、Knative チャネルをシンクとして指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、Knative ブローカーをシンクとして指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
YAML ファイルを保存します (例:
coffees-to-knative.yaml)。 - OpenShift プロジェクトにログインします。
Kamelet Binding をリソースとして OpenShift namespace に追加します。
oc apply -f <kamelet binding filename>以下に例を示します。
oc apply -f coffees-to-knative.yamlCamel K Operator は、
KameletBindingリソースを使用して Camel K インテグレーションを生成し、実行します。ビルドに数分かかる場合があります。KameletBindingのステータスを表示するには、以下を実行します。oc get kameletbindingsインテグレーションの状態を表示するには、以下を実行します。
oc get integrationsインテグレーションのログを表示するには、以下を実行します。
kamel logs <integration> -n <project>以下に例を示します。
kamel logs coffees-to-knative -n my-camel-knative