少于1分钟
Kubernetes 用户在创建应用资源时常常是基于经验值来设置副本数。通过副本数推荐的算法分析应用的真实用量推荐更合适的副本配置,您可以参考并采纳它提升集群的资源利用率。
基于 Workload 历史 CPU 负载,找到过去七天内每小时负载最低的 CPU 用量,计算按50%(可配置)利用率和 Workload CPU Request 应配置的副本数
workload-min-replicas
pod-min-ready-seconds
| pod-available-ratio
查询过去一周的 CPU 使用量
replicas := int32(math.Ceil(workloadCpu / (rr.TargetUtilization * float64(requestTotal) / 1000.)))
将推荐 replicas 记录到 Metric:crane_analytics_replicas_recommendation
默认支持 StatefulSet 和 Deployment,但是支持所有实现了 Scale SubResource 的 Workload。
配置项 | 默认值 | 描述 |
---|---|---|
workload-min-replicas | 1 | 小于该值的工作负载不做弹性推荐 |
pod-min-ready-seconds | 30 | 定义了 Pod 是否 Ready 的秒数 |
pod-available-ratio | 0.5 | Ready Pod 比例小于该值的工作负载不做弹性推荐 |
default-min-replicas | 1 | 最小 minReplicas |
cpu-target-utilization | 0.5 | 按该值计算最小副本数 |