15.4. シンプルなインテグレーションを Knative サービスとして公開
シンプルなインテグレーションでは、インテグレーションを Knative サービスとして公開する Knative コネクションを最初のコネクションとすることができます。このように開始するインテグレーションは、指定の期間サービスに呼び出しがないと自動的に 0 Pod にスケールダウンします。デフォルトの期間は 1 分です。
この自動スケーリングはリソースを節約します。そのため、AMQ ブローカーへのコネクションなどの、他のコネクションで始まるシンプルなインテグレーションよりも優れています。
前提条件
- Knative リソースへのコネクションが有効になっている必要があります。
- Knative が Fuse Online が稼働しているクラスターにインストールされている必要があります。
手順
- Fuse Online の左側のパネルで Integrations をクリックします。
- Create Integration をクリックします。
- Choose a connection ページで Knative コネクションをクリックします。
- Expose as Service アクションを選択します。
結果
Fuse Online は、シンプルなインテグレーションの最後のコネクションを追加するよう要求します。
Fuse Online がインテグレーションをパブリッシュするとき、Camel K ランタイムは Knative serving.knative.dev
サービスを作成します。このサービスは以下のような特徴があります。
- Kubernates デプロイメントオブジェクトの代替です。
- 一定期間アクティビティーがないと、自動的に 0 にスケーリングできます。
- Kubernates サービスと混同しないようにしてください。
パブリッシュすると、ルートパス ( / ) でインテグレーションを呼び出すことが可能になります。クライアントは、インテグレーションを HTTP エンドポイントとして呼び出し、必要に応じてデータを渡すことで、インテグレーションの実行を呼び出します。通常、渡されたデータは JSON 形式になります。
本リリースでは、インテグレーションを Knative サービスとして公開する主な目的は、他の Fuse Online インテグレーションがその Knative サービスを呼び出すことであると想定されます。この場合、Knative サービスを呼び出すインテグレーションがサービス名を選択し、パスを指定する必要はありません。