智能 Request 推荐,K8s 资源利用率提升 252%
王孝威,FinOps 认证从业者,腾讯云容器服务产品经理,热衷于为客户提供高效的 Kubernetes 使用方式,为客户极致降本增效服务。
余宇飞,FinOps 认证从业者,腾讯云专家工程师,从事云原生可观测性、资源管理、降本增效产品的开发。
资源利用率为何都如此之低?
资源实际利用率到底有多低?
如何设置 Request?
Kubernetes 会自动配置 Pod 的服务质量 QoS[1],对于没有设置 Request 数值的 Pod,当资源比较紧张时,比较容易被驱逐,业务稳定性受到影响。
集群的整理资源实际上并不是一个完整的整体,集群是由很多节点构成的,实际的 CPU 和内存的资源都是节点的属性,每个节点的容量大小有上限,例如64核 CPU,对于比较大的业务来说,可能需要一个数千核乃至数万核的集群,这样集群里的节点数量就会变多,节点数量越多,每个节点的碎片资源越多,碎片资源都无法有效被利用。
业务本身可能会有较大波动,例如地铁系统白天繁忙、夜晚空闲,设置固定的 Request 数值必须按照峰值考虑,此时浪费现象依旧突出。
Request 智能推荐
AHPA
人们习惯于中午和晚上点外卖
早上和晚上是交通高峰期
即使对于没有明显模式的服务,如搜索,夜间的请求量也远低于白天
可靠性——保证可伸缩性和可用性
响应能力——扩展快,快速应对高负载
资源效能——降低成本
红线是工作负载的实际资源使用量
绿线是预测该工作负载的资源使用量
蓝线是给出的弹性推荐的资源使用量
参考资料
配置 Pod 的服务质量 QoS: 【https://kubernetes.io/zh/docs/tasks/configure-pod-container/quality-service-pod/】
[2]Request 智能推荐产品文档: 【https://cloud.tencent.com/document/product/457/63338】
[3]HPA: 【https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/】
往期精选推荐