設定目標突發容量¶
目標突發容量 是一個 全域和每個修訂版本 的整數設定,決定 Knative 應用程式在不緩衝的情況下可以處理的流量突發大小。如果流量突發太大而應用程式無法處理,則會將 Activator 服務放置在請求路徑中,以保護修訂版本並最佳化請求負載平衡。
Activator 服務負責接收和緩衝非活動修訂版本或流量突發大於修訂版本在不緩衝情況下可處理限制的請求。它還可以快速啟動額外的 Pod 以增加容量,並調節將請求傳送到 Pod 的速度。
可以使用以下參數的組合來設定目標突發容量
- 設定修訂版本的目標並行限制。請參閱 並行。
- 設定目標使用率參數。請參閱 目標使用率。
- 設定目標突發容量。您可以使用
config-autoscaler
ConfigMap 中的target-burst-capacity
註解鍵來設定目標突發容量。請參閱 設定目標突發容量。
設定目標突發容量¶
- 全域鍵:
target-burst-capacity
- 每個修訂版本註解鍵:
autoscaling.knative.dev/target-burst-capacity
- 可能的值: float (
0
表示僅在縮放到 0 時,Activator 才在路徑中,-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"
注意
Ingress 閘道負載平衡需要額外的設定。有關使用 Ingress 閘道進行負載平衡的更多資訊,請參閱 Serving API 文件。
-
如果
autoscaling.knative.dev/target-burst-capacity
設定為0
,則僅在從零縮放情況下,才會將 Activator 新增至請求路徑,並且將套用 Ingress 負載平衡。 -
如果
autoscaling.knative.dev/target-burst-capacity
設定為-1
,則無論修訂版本大小如何,Activator 始終在請求路徑中。 -
如果
autoscaling.knative.dev/target-burst-capacity
設定為另一個整數,則 Activator 可能在路徑中,具體取決於修訂版本的縮放和負載。