配置目标突发容量¶
目标突发容量 是一个 全局和按版本 整数设置,它决定了 Knative 应用程序在不缓冲的情况下可以处理的流量突发大小。如果流量突发量太大,应用程序无法处理,则激活器 服务将被放置在请求路径中,以保护版本并优化请求负载均衡。
激活器服务负责接收和缓冲非活动版本的请求,或接收流量突发量超过该版本在不缓冲的情况下可以处理的限制的版本的请求。它还可以快速为容量启动其他 Pod,并控制将请求发送到 Pod 的速度。
可以使用以下参数的组合来配置目标突发容量
- 设置版本的定向并发限制。见 并发.
- 设置目标利用率参数。见 目标利用率.
- 设置目标突发容量。您可以使用
config-autoscaler
ConfigMap 中的target-burst-capacity
注释键来配置目标突发容量。见 设置目标突发容量.
设置目标突发容量¶
- 全局键:
target-burst-capacity
- 按版本注释键:
autoscaling.knative.dev/target-burst-capacity
- 可能的值: 浮点数 (
0
表示仅在扩展到 0 时激活器才在路径中,-1
表示激活器始终在路径中) - 默认值:
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
,则仅在从零扩展的情况下将激活器添加到请求路径中,并将应用入口负载均衡。 -
如果
autoscaling.knative.dev/target-burst-capacity
设置为-1
,则激活器始终位于请求路径中,无论版本大小如何。 -
如果
autoscaling.knative.dev/target-burst-capacity
设置为另一个整数,则激活器可能位于路径中,具体取决于版本大小和负载。