前言
Kubernetes 提供了对 CPU、内存等资源的抽象能力,用户可以根据容器的实际需求声明资源规格,这种方式有效提升了集群资源的管理效率。然而,如何填写容器的资源规格一直以来都是困扰应用管理员的关键问题,过高的资源规格会导致大量的资源浪费,而过低的规格又会为应用带来潜在的稳定性风险。
阿里云容器服务 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,以下简称 ACK)为 Kubernetes 原生的工作负载提供了资源画像的能力,实现容器粒度的资源规格推荐,可以有效简化应用管理员为 Pod 配置 Request 和 Limit 的复杂度。
Kubernetes 容器资源管理
Kubernetes 为容器资源管理提供了“资源请求”(request)的资源语义描述,当容器指定了 request 时,调度器会将其与节点的“资源容量”(capacity)进行匹配,决定其应该被分配到哪个节点。容器的 request 一般基于经验来填写,应用管理员会参考容器的历史利用率情况、应用的压测表现,并根据线上运行情况的反馈持续调整。
然而,这种基于人工经验的资源规格配置模式存在以下局限性:
- 为了保障线上应用的稳定性,管理员通常会预留相当数量的资源 buffer 来应对上下游链路的负载波动,容器的 request 配置会远高于其实际的资源利用率,产生大量的浪费。相关统计数据表示,在大部分在线服务的生产环境中,集群的资源利用率处于相当低的水平。
- 当集群分配率较高时,为了提升集群资源利用率,管理员会主动缩小容器的 request 配置,以协调更多的资源容量。这类操作短期内可以提升容器的

本文介绍阿里云ACK如何通过资源画像解决Kubernetes容器资源规格配置难题,提供智能推荐,提升集群资源利用率和应用稳定性。资源画像基于历史数据进行分析,通过分位值算法等手段准确刻画资源需求,降低管理复杂度。
最低0.47元/天 解锁文章
2891

被折叠的 条评论
为什么被折叠?



