配置目标突发容量¶
目标突发容量 是一个 全局和每个修订版本 的整数设置,它决定了 Knative 应用程序在不进行缓冲的情况下可以处理的流量突发大小。如果流量突发过大,应用程序无法处理,则 Activator 服务将被置于请求路径中,以保护修订版本并优化请求负载均衡。
Activator 服务负责接收和缓冲不活跃修订版本的请求,或处理流量突发超出该修订版本在不进行缓冲的情况下可以处理的限制的修订版本的请求。它还可以快速启动额外的 Pod 以增加容量,并限制请求发送到 Pod 的速度。
目标突发容量可以通过以下参数组合进行配置
- 设置修订版本的并发限制。参见 并发。
- 设置目标利用率参数。参见 目标利用率。
- 设置目标突发容量。您可以使用
config-autoscalerConfigMap 中的target-burst-capacity注释键来配置目标突发容量。参见 设置目标突发容量。
设置目标突发容量¶
- 全局键:
target-burst-capacity - 每个修订版本注释键:
autoscaling.knative.dev/target-burst-capacity - 可能的值: 浮点数 (
0表示 Activator 仅在缩放到 0 时在路径中,-1表示 Activator 始终在路径中) - 默认值:
200
示例
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
name: <service_name>
namespace: default
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/target-burst-capacity: "200"
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
target-burst-capacity: "200"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
target-burst-capacity: "200"
注意
入口网关负载均衡需要额外的配置。有关使用入口网关进行负载均衡的更多信息,请参见 Serving API 文档。
-
如果
autoscaling.knative.dev/target-burst-capacity设置为0,则 Activator 仅在从零扩展的场景中添加到请求路径,并应用入口负载均衡。 -
如果
autoscaling.knative.dev/target-burst-capacity设置为-1,则 Activator 始终在请求路径中,无论修订版本大小如何。 -
如果
autoscaling.knative.dev/target-burst-capacity设置为另一个整数,则 Activator 可能会在路径中,具体取决于修订版本规模和负载。