配置缩放到零¶
警告
仅当您使用 KnativePodAutoscaler (KPA) 且只能全局配置时,才能启用缩放到零。有关使用 KPA 或全局配置的更多信息,请参阅有关 支持的自动缩放器类型 的文档。
启用缩放到零¶
缩放到零值控制 Knative 是否允许副本缩放到零(如果设置为 true
),或者如果设置为 false
,则停止在 1 个副本处。
注意
有关每个修订版配置比例限制的更多信息,请参阅有关 配置比例限制 的文档。
- 全局密钥:
enable-scale-to-zero
- 每个修订版注释密钥: 没有每个修订版设置。
- 可能的值: 布尔值
- 默认值:
true
示例
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
enable-scale-to-zero: "false"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
enable-scale-to-zero: "false"
缩放到零宽限期¶
此设置指定系统在内部等待缩放到零机制就位之前删除最后一个副本的上限时间限制。
警告
这是一个控制内部网络编程允许花费多长时间的值,只有在您遇到请求在修订版缩放到零副本时被丢弃的问题时才应调整它。
此设置不会调整最后一个副本在流量结束后的保留时间,也不能保证副本实际会保留整个持续时间。
- 全局密钥:
scale-to-zero-grace-period
- 每个修订版注释密钥: n/a
- 可能的值: 持续时间
- 默认值:
30s
示例
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
scale-to-zero-grace-period: "40s"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
scale-to-zero-grace-period: "40s"
缩放到零最后一个 Pod 保留时间¶
scale-to-zero-pod-retention-period
标志确定最后一个 Pod 在自动缩放器决定将 Pod 缩放到零后的最小活动时间。
这与 scale-to-zero-grace-period
标志形成对比,scale-to-zero-grace-period
标志确定最后一个 Pod 在自动缩放器决定将 Pod 缩放到零后的最大活动时间。
- 全局密钥:
scale-to-zero-pod-retention-period
- 每个修订版注释密钥:
autoscaling.knative.dev/scale-to-zero-pod-retention-period
- 可能的值: 非负持续时间字符串
- 默认值:
0s
示例
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
namespace: default
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/scale-to-zero-pod-retention-period: "1m5s"
spec:
containers:
- image: ghcr.io/knative/helloworld-go:latest
apiVersion: v1
kind: ConfigMap
metadata:
name: config-autoscaler
namespace: knative-serving
data:
scale-to-zero-pod-retention-period: "42s"
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeServing
metadata:
name: knative-serving
spec:
config:
autoscaler:
scale-to-zero-pod-retention-period: "42s"