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-source
Kamelet です。各イベントを送信する頻度を指定するオプションのパラメーター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-source
Kamelet を Knative 宛先に接続するため、名前はcoffees-to-knative
になります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kamelet Binding のソースの場合は、データソース Kamelet を指定し (たとえば、
coffee-source
Kamelet はコーヒーに関するデータが含まれるイベントを生成します)、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.yaml
Camel 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