1.2.3. kamelet バインディングでのソースとシンクコンポーネントの接続


kamelet バインディング内で、ソースとシンクコンポーネントを接続します。

この手順の例では、図 1.2 に示されるように以下の kamelets を使用しています。

  • ソース kamelet の例 の名前は coffee-source です。この単純な kamelet は、Web サイトカタログからコーヒーのタイプについて無作為に生成されるデータを取得します。コーヒーのデータを取得する頻度 (秒単位) を決定する 1 つのパラメーター(period: integer 値) があります。デフォルト値 (1000 秒) があるため、このパラメーターは必須ではありません。
  • シンク kamelet の例 の名前は log-sink です。これはデータを取得し、それをログファイルに出力します。
Example kamelet binding

図 1.2: kamelet バインディングの例

前提条件

  • Camel K インテグレーションの作成および編集方法を把握している。
  • Installing Camel K」で説明されているように、Red Hat Integration - Camel K Operator が OpenShift namespace またはクラスターにインストールされ、Red Hat Integration Camel K CLI ツールをダウンロードしている。
  • Camel K インテグレーションに追加する kamelets と必要なインスタンスパラメーターを把握している。
  • 使用する kamelets が Kamelet カタログで利用可能である。

手順

  1. OpenShift クラスターにログインします。
  2. Camel K Operator がインストールされている作業プロジェクトを開きます。Camel K Operator を cluster-mode でインストールした場合、クラスター上の任意のプロジェクトで利用できます。

    たとえば、mycamelk という名前の既存のプロジェクトを開くには、以下のコマンドを実行します。

    oc project mycamelk

  3. 新しい KameletBinding リソースを作成します。

    1. 任意のエディターで、以下の構造で YAML ファイルを作成します。

      apiVersion: camel.apache.org/v1alpha1
      kind: KameletBinding
      metadata:
        name:
      spec:
        source:
        sink:
    2. kamelet binding の名前を追加します。

      この例では、バインディングが coffee-source kamelet を log-sink kamelet に接続するため、名前は coffee-to-log になります。

      apiVersion: camel.apache.org/v1alpha1
      kind: KameletBinding
      metadata:
        name: coffee-to-log
      spec:
        source:
        sink:
  4. ソース kamelet (例: coffee-source) を指定し、kamelet のパラメーターを設定します。

    注記: この例では、このパラメーターは kamelet バインディングの YAML ファイルで定義されます。または、「kamelet インスタンスパラメーターの設定」の説明に従って、プロパティーファイル、configMap、またはシークレットに kamelet のパラメーターを設定することもできます。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffee-to-log
    spec:
      source:
        ref kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: coffee-source properties: period: 5000
      sink:
  5. シング kamelet (例: log-sink) を指定し、kamelet のパラメーターを設定します。サンプルの log-sink kamelet に必須のパラメーターはありません。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffee-to-log
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
        ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: log-sink
  6. YAML ファイルを保存します (例: coffee-to-log.yaml)。
  7. KameletBinding をリソースとして OpenShift namespace に追加します。

    oc apply -f <kamelet>.yaml

    以下に例を示します。

    oc apply -f coffee-to-log.yaml

    Camel K Operator は、KameletBinding リソースを使用して Camel K インテグレーションを生成し、実行します。

  8. KameletBinding のステータスを表示するには、次のコマンドを実行します。

    oc get kameletbindings

  9. 対応するインテグレーションのステータスを表示するには、oc get integrations のコマンドを実行します。
  10. 出力を表示するには、以下を実行します。

    • コマンドラインからのログを表示するには、ターミナルのウィンドウを開き、以下のコマンドを入力します。

      kamel log <integration-name>

      たとえば、インテグレーション名が coffee-to-log の場合は、以下のコマンドを使用します。

      kamel log coffee-to-log

    • OpenShift Web コンソールからのログを表示するには、以下を実行します。

      1. Workloads > Pods を選択します。
      2. Camel K インテグレーションの Pod の名前をクリックし、Logs をクリックします。

        以下の例のようなコーヒーイベントの一覧が表示されるはずです。

        2021-06-11 17:15:56,725 INFO  [log-sink-E80C5C904418150-0000000000000001] (Camel (camel-1) thread #0 - timer://tick) {"id":7259,"uid":"a4ecb7c2-05b8-4a49-b0d2-d1e8db5bc5e2","blend_name":"Postmodern Symphony","origin":"Huila, Colombia","variety":"Kona","notes":"delicate, chewy, black currant, red apple, star fruit","intensifier":"balanced"}
  11. インテグレーションを停止するには、kamelet バインディングを削除します。

    oc delete kameletbindings/<kameletbinding-name>

    以下に例を示します。

    oc delete kameletbindings/coffee-to-log

次のステップ

任意で以下を行います。

Red Hat logoGithubRedditYoutube

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.