You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes节点池按时段配置咨询:非工作时段闲置节点自动关停降本

Kubernetes节点池时段配置与闲置缩容方案

核心问题解答

主流云厂商托管的Kubernetes节点池(比如GKE、AKS、EKS)完全支持按时段配置节点参数,也就是常说的「计划扩缩容」功能,既能满足你非工作时段节约成本的需求,又能避免把最小节点数设为0带来的启动等待问题。

具体实现办法

1. 按时段调整节点池的最小/最大节点数

不同云厂商的操作路径略有不同,但核心都是通过定时规则来修改节点池的关键参数:

  • GKE:在节点池的扩缩容设置里直接添加「计划规则」,比如工作时段(9:00-18:00)把最小节点数设为5、最大设为20;非工作时段(18:00到次日9:00)把最小设为1、最大设为5。
  • AKS:用az aks nodepool schedule命令配置定时任务,或者在Azure门户里可视化设置时段对应的节点数范围。
  • EKS:通过CloudWatch Events创建定时触发的任务,调用EKS API或者用eksctl命令调整节点池的minSize和maxSize。

2. 设置节点闲置30分钟后自动关停

配合Cluster Autoscaler的缩容延迟参数,确保节点闲置满30分钟才会被处理:

  • 如果你自己部署Cluster Autoscaler,启动时加上--scale-down-unneeded-time=30m参数,意思是节点闲置30分钟后就会被判定为可关停;还可以加上--scale-down-delay-after-add=30m,避免刚启动的节点被误删。
  • 要是用云厂商托管的Cluster Autoscaler(比如GKE、AKS自带的),直接在节点池的扩缩容配置里把「闲置缩容等待时间」设为30分钟就行。

3. 组合方案兼顾成本和业务体验

把计划扩缩容和闲置缩容搭配起来用效果最好:

  • 工作时段:设置足够的最小节点数(比如匹配日常业务的最低负载需求),保证业务不用等节点启动;最大节点数按需设置,应对突发流量。
  • 非工作时段:把最小节点数设为1(或者少量备用节点),最大节点数调低;同时开启30分钟闲置缩容,多余的闲置节点会自动关停,只留备用节点,既省成本,又不会出现完全冷启动的漫长等待。

自建集群的替代方案

如果是自己搭建的Kubernetes集群,可以这么搞:

  • 用Kubernetes的CronJob定时执行kubectl命令,修改节点池(或者MachineDeployment)的minReplicas和maxReplicas参数。
  • 配置Cluster Autoscaler的缩容延迟参数,实现闲置30分钟后关停节点。

内容的提问来源于stack exchange,提问作者Atul Sureka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:30:52