我的pod曾经在几秒钟内缩小20-30,但我不知道现在发生了什么,它花了5分钟缩小,当我在KEDA YML文件中添加minreplica时,从1到0 pod的时间需要几秒钟,但对于n到1 pod,它需要5分钟,我理解这是HPA行为,它需要从n ->1 pod和从1-> 0 pod KEDA负责事件我将此添加到scaledobject文件,但它被忽略
spec:
scaleTargetRef:
name: consumer-deployment
pollingInterval: 5
cooldownPeriod: 10
minReplicaCount: 0
maxReplicaCount: 5
如何缩短默认为5分钟时间
我正在使用k8s和docker桌面
1条答案
按热度按时间ckocjqey1#
如document所述:
在将资源缩放回0之前,最后一个触发器报告为活动之后等待的时间段。默认为5分钟(300秒)。
cooldownPeriod仅在触发发生后应用;首次创建Deployment(或StatefulSet/CustomResource)时,KEDA将立即将其扩展到minReplicaCount。此外,KEDA冷却时间只适用于缩放为0时;从1到N个副本的扩展由Kubernetes HPA处理。
您的冷却时间将取决于pollingInterval。这是检查每个触发器打开的时间间隔。默认情况下,KEDA将每30秒检查每个ScaledObject上的每个触发源。所以你可以最小化轮询内部时间来减少你的冷却时间。
但是,您可以通过将副本计数编辑为0来启用/禁用缩放规则,也可以使用名为“暂停自动缩放”的单个字段。
将以下注解添加到部署中:
无论提供了多少个副本,此注解都将暂停自动缩放。上面的注解会将您当前的工作负载扩展到0个副本并暂停自动扩展。可以将要暂停的对象的副本值设置为任意数量。要再次启用自动缩放,只需从ScaledObject定义中删除注解。