16.4. シンプルなインテグレーションを Knative サービスとして公開

シンプルなインテグレーションでは、インテグレーションを Knative サービスとして公開する Knative コネクションを最初のコネクションとすることができます。このように開始するインテグレーションは、指定の期間サービスに呼び出しがないと自動的に 0 Pod にスケールダウンします。デフォルトの期間は 1 分です。

この自動スケーリングはリソースを節約します。そのため、AMQ ブローカーへのコネクションなどの、他のコネクションで始まるシンプルなインテグレーションよりも優れています。

前提条件

  • Knative リソースへのコネクションが有効になっている必要があります。
  • Knative が Fuse Online が稼働しているクラスターにインストールされている必要があります。

手順

  1. Fuse Online の左側のパネルで Integrations をクリックします。
  2. Create Integration をクリックします。
  3. Choose a connection ページで Knative コネクションをクリックします。
  4. Expose as Service アクションを選択します。

結果

Fuse Online は、シンプルなインテグレーションの最後のコネクションを追加するよう要求します。

Fuse Online がインテグレーションをパブリッシュするとき、Camel K ランタイムは Knative serving.knative.dev サービスを作成します。このサービスは以下のような特徴があります。

  • Kubernates デプロイメントオブジェクトの代替です。
  • 一定期間アクティビティーがないと、自動的に 0 にスケーリングできます。
  • Kubernates サービスと混同しないようにしてください。

パブリッシュすると、ルートパス ( / ) でインテグレーションを呼び出すことが可能になります。クライアントは、インテグレーションを HTTP エンドポイントとして呼び出し、必要に応じてデータを渡すことで、インテグレーションの実行を呼び出します。通常、渡されたデータは JSON 形式になります。

本リリースでは、インテグレーションを Knative サービスとして公開する主な目的は、他の Fuse Online インテグレーションがその Knative サービスを呼び出すことであると想定されます。この場合、Knative サービスを呼び出すインテグレーションがサービス名を選択し、パスを指定する必要はありません。