6.2.2. Knative Service トレイト

Knative Service トレイトは、標準の Kubernetes デプロイメントではなく、Knative サービスとしてインテグレーションを実行する場合に、オプションの設定を可能にします。

Knative Services としてインテグレーションを実行すると、自動スケーリング (およびゼロへのスケーリング) 機能が追加されますが、この機能はルートが HTTP エンドポイントコンシューマーを使用する場合にのみ有用です。

このトレイトは、Knative プロファイルで利用できます。

6.2.2.1. 設定

CLI でインテグレーションを実行する際にトレイトプロパティーを指定できます。

$ kamel run --trait knative-service.[key]=[value] --trait knative-service.[key2]=[value2] Integration.java

以下の設定オプションが利用できます。

プロパティー詳細

knative-service.enabled

bool

トレイトを有効または無効にするのに使用できます。すべてのトレイトがこの共通プロパティーを共有します。

knative-service.autoscaling-class

string

Knative 自動スケーリングクラスプロパティーを設定します(hpa.autoscaling.knative.dev または kpa.autoscaling.knative.dev の自動スケーリングを設定します)。

詳細は、Knative ドキュメントを参照してください。

knative-service.autoscaling-metric

string

Knative 自動スケーリングメトリクスプロパティーを設定します (例: concurrency または cpu ベースの自動スケーリングを設定します)。

詳細は、Knative ドキュメントを参照してください。

knative-service.autoscaling-target

int

各 Pod に許可される同時実行レベルまたは CPU の割合 (自動スケーリングメトリクスによる) を設定します。

詳細は、Knative ドキュメントを参照してください。

knative-service.min-scale

int

インテグレーションに対して稼働している必要がある Pod の最小数。デフォルトは ゼロ であるため、設定された期間に使用されなければインテグレーションはゼロにスケールダウンされます。

詳細は、Knative ドキュメントを参照してください。

knative-service.max-scale

int

インテグレーションで並行して実行できる Pod 数の上限。Knative には、インストールによって異なる独自の上限値があります。

詳細は、Knative ドキュメントを参照してください。

knative-service.auto

bool

以下のすべての条件が保持されると、インテグレーションを Knative サービスとして自動的にデプロイします。

  • インテグレーションは Knative プロファイルを使用する。
  • すべてのルートは、HTTP ベースのコンシューマーまたはパッシブコンシューマーから開始される (例: direct はパッシブコンシューマー)。