前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes事件驱动弹性伸缩最佳实践系列(三):定时水平伸缩 (Cron 触发器)

Kubernetes事件驱动弹性伸缩最佳实践系列(三):定时水平伸缩 (Cron 触发器)

原创
作者头像
imroc
发布2024-04-26 14:24:17
1330
发布2024-04-26 14:24:17
举报

Cron 触发器

KEDA 支持 Cron 触发器,即使用 Cron 表达式来配置周期性的定时扩缩容,用法参考 KEDA Scalers: Cron

Cron 触发器适用于有周期性特征的业务,比如业务流量有固定的周期性波峰和波谷特征。

案例:每天固定时间点的秒杀活动

秒杀活动的特征是时间比较固定,可以在活动开始前提前扩容,以下展示了 ScaledObject 配置示例。

代码语言:yaml showLineNumbers
复制
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: seckill
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: seckill
  pollingInterval: 15
  minReplicaCount: 2 # 至少保留 2 个副本
  maxReplicaCount: 1000
  advanced:
    horizontalPodAutoscalerConfig:
      behavior: # 控制扩缩容行为,使用比较保守的策略,快速扩容,缓慢缩容
        scaleDown: # 缓慢缩容:至少冷却 10 分钟才能缩容
          stabilizationWindowSeconds: 600
        scaleUp: # 快速扩容:每 15s 最多允许扩容 5 倍
          policies:
            - type: Percent
              value: 500
              periodSeconds: 15
  triggers:
    - type: cron # 每天早上 10 点秒杀活动,确保前后半小时内至少有 200 个副本
      metadata:
        timezone: Asia/Shanghai
        start: 30 9 * * *
        end: 30 10 * * *
        desiredReplicas: "200"
    - type: cron # 每天晚上 6 点秒杀活动,确保前后半小时内至少有 200 个副本
      metadata:
        timezone: Asia/Shanghai
        start: 30 17 * * *
        end: 30 18 * * *
        desiredReplicas: "200"
    - type: memory # CPU 利用率超过 60% 扩容
      metricType: Utilization
      metadata:
        value: "60"
    - type: cpu # 内存利用率超过 60% 扩容
      metricType: Utilization
      metadata:
        value: "60"

注意事项

通常触发器不能只配置 Cron,还需和其它触发器一起配合使用,因为如果在 cron 的 start 和 end 区间之外的时间段,如果没有其它触发器活跃,副本数就会降到 minReplicaCount,可能并不是我们想要的。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Cron 触发器
  • 案例:每天固定时间点的秒杀活动
  • 注意事项
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com