tencent cloud

Feedback

Scheduled Horizontal Scaling (Cron Triggers)

Last updated: 2024-12-24 15:55:02

    Cron Triggers

    Kubernetes-based Event-Driven Autoscaler (KEDA) supports Cron triggers, enabling the configuration of periodic scheduled scaling with Cron expressions. For details, please refer to KEDA Scalers: Cron.
    Cron triggers are suitable for businesses with periodic characteristics, such as business traffic with fixed periodic peaks and troughs.

    Use Cases

    Daily Fixed-time Flash Sales Activities

    The characteristic of a flash sales activity is that the time is relatively fixed, allowing for scaling out in advance before the activity begins. Below is an example configuration of ScaledObject.
    apiVersion: keda.sh/v1alpha1
    kind: ScaledObject
    metadata:
    name: seckill
    spec:
    scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: seckill
    pollingInterval: 15
    minReplicaCount: 2 # Keep at least 2 replicas
    maxReplicaCount: 1000
    advanced:
    horizontalPodAutoscalerConfig:
    behavior: # Control scaling behavior by using a conservative approach of quick scaling out and slow scaling in
    scaleDown: # Slow scaling in: A period of at least 10 minutes is required before scaling in
    stabilizationWindowSeconds: 600
    policies:
    - type: Percent
    value: 100
    periodSeconds: 15
    scaleUp: # Quick scaling out: Allow scaling out up to 5 times every 15s
    policies:
    - type: Percent
    value: 500
    periodSeconds: 15
    triggers:
    - type: cron # Ensure at least 200 replicas within half an hour before and after the flash sales activity every morning at 10 am
    metadata:
    timezone: Asia/Shanghai
    start: 30 9 * * *
    end: 30 10 * * *
    desiredReplicas: "200"
    - type: cron # Ensure at least 200 replicas within half an hour before and after the flash sales activity every evening at 6 pm
    metadata:
    timezone: Asia/Shanghai
    start: 30 17 * * *
    end: 30 18 * * *
    desiredReplicas: "200"
    - type: memory # Scale up when the CPU utilization exceeds 60%
    metricType: Utilization
    metadata:
    value: "60"
    - type: cpu # Scale up when the memory utilization exceeds 60%
    metricType: Utilization
    metadata:
    value: "60"

    Notes

    Usually, the triggers cannot be configured with Cron alone and need to be used in conjunction with other triggers. This is because if no other triggers are active outside the Cron's start and end interval, the number of replicas will drop to minReplicaCount.
    
    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support