4

KPA で提供する Knative を使用しています。自動スケーリングは、同時実行性と RPS に基づいて Knative で利用できます。ただし、長時間実行される非同期プロセスがあるため、キューの長さに基づいてさまざまなサービスをスケーリングする必要があります。Knative でこれを実現する方法はありますか? Knative の機能をゼロにスケーリングする必要があるため、Knative HPA を使用できません。前もって感謝します!

4

1 に答える 1

0

非同期 (バックグラウンドまたはスケジュールされたプロセス) がある場合、Knative はアプリケーションに適していない可能性があります。HPA v2 カスタム メトリクス スキャン オプションを公開するための調査が行われましたが (お気づきのように、ゼロへのスケーリングが妨げられる可能性があります)、HPA2 スケーリングを使用しても問題が発生します。

バックグラウンド プロセスの問題は、Knative と Kubernetes がどのPod がまだ作業を行っているかを把握できないことです。そのため、作業を行っている Pod をアイドル状態の Pod としてシャットダウンする可能性が等しくなります。

回避策の 1 つは、非同期作業をリクエストと同期するように移動し (おそらくイベントを使用して「作業を行う」イベントを送信することにより)、それらのイベントを同期的に処理することです。完成まで長い。不均一な処理時間が心配な場合は、長時間実行されるリクエストを処理するためだけに、Knative サービスの 2 つ目のコピーを実行することもできます。

于 2021-12-09T15:28:55.210 に答える