将并发限制设置为 1 时,单个请求会旋转 2 个 Knative 实例

问题描述

我正在尝试实现一个场景,即 5 个 curl 请求将旋转 5 个 pod。 我一直在使用 Knative 并发设置进行自动缩放。 我意识到的一些观察是,当我设置

autoscaling.knative.dev/target: "1"

在卷曲请求后,它会旋转 2 个 pod。对于 5 个请求,Knative 将旋转大约 9 - 10 个 pod。我也尝试设置硬限制并发。

spec:
  containerConcurrency: 1

同样的行为。

但是当我将限制设置为 2 时, 5 个请求会旋转大约 4 个 pod,这也不是我想要的。

如何为我的应用程序实现每个 Pod 1 个请求?

解决方法

默认情况下,Knative 使用 70% 的目标利用率,将其用于并发目标的值稀释 70%。这意味着,系统针对当前负载提供 70% 的容量,请参阅 https://knative.dev/docs/serving/autoscaling/concurrency/#target-utilization

您可能想尝试将利用率设置为 100% 以完全热运行。