Cron 触发器
Cron 触发器适用于有周期性特征的业务,例如业务流量具有固定的周期性波峰和波谷特征。
使用示例
每天固定时间点的秒杀活动
秒杀活动的特征是时间比较固定,可以在活动开始前提前扩容,以下展示了 ScaledObject
配置示例。
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: seckill
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: seckill
pollingInterval: 15
minReplicaCount: 2
maxReplicaCount: 1000
advanced:
horizontalPodAutoscalerConfig:
behavior:
scaleDown:
stabilizationWindowSeconds: 600
policies:
- type: Percent
value: 100
periodSeconds: 15
scaleUp:
policies:
- type: Percent
value: 500
periodSeconds: 15
triggers:
- type: cron
metadata:
timezone: Asia/Shanghai
start: 30 9 * * *
end: 30 10 * * *
desiredReplicas: "200"
- type: cron
metadata:
timezone: Asia/Shanghai
start: 30 17 * * *
end: 30 18 * * *
desiredReplicas: "200"
- type: memory
metricType: Utilization
metadata:
value: "60"
- type: cpu
metricType: Utilization
metadata:
value: "60"
注意事项
通常情况下,触发器不能仅配置 Cron,还需要与其他触发器配合使用。因为如果在 Cron 的 start 和 end 区间之外的时间段,没有其它触发器活跃,副本数将会降到 minReplicaCount
。
本页内容是否解决了您的问题?