1、22023年9月大规模大规模k8sk8s集群的成本和服务质量优化集群的成本和服务质量优化美团容器平台降本运营落地实践陆启超/美团 基础研发平台3目录数据分级:C1大规模业务集群降本挑战和难点资源利用率提升不同阶段的挑战和对应方案第一阶段:峰值利用率低于40%第二阶段:峰值利用率40%45%第三阶段:峰值利用率4550%实践总结及落地成果未来演进方向4大规模业务集群降本难点大规模业务集群降本难点5目标与挑战目标:用最小的资源成本满足业务资源使用需求,保障业务SLO。资源利用率提升与服务质量保障互相掣肘影响利用率和服务质量的因素多,运营场景复杂难点:6资源利用率提升不同阶段的挑战和对应方案资源利用
2、率提升不同阶段的挑战和对应方案7资源利用率提升不同阶段第一阶段:利用率水平低关键思路:把资源分出去第二阶段:利用率水平中关键思路:资源在空间维度分合理第三阶段:利用率水平高关键思路:在时间、空间两个维度把资源分合理8阶段一:峰值利用率低于峰值利用率低于40%40%挑战:如何把资源挑战:如何把资源分出去?分出去?分配率高但实际节点资源利用率低,无法分配更多资源资源碎片化,资源余量总量大,但对于大规格资源调度请求调度履约率难保障9阶段一:峰值利用率低于峰值利用率低于40%40%挑战挑战1 1:分配率高但实际节点资源利用率低原因分析:原因分析:业务申请实际规格和实际使用gap较大基于经验资源规格配置
3、不准,倾向于过配置为可能的突发峰值预留资源10阶段一:峰值利用率低于峰值利用率低于40%40%业务资源使用分析与预测业务容器配置推荐数据分析推动业务运维降配确定资源超售比例应对规律洪峰提前扩容解决方案:解决方案:业务资源使用分析预测日常资源使用时间分布于峰值节假日大促规律洪峰历史数据确定安全buffer11阶段一:峰值利用率低于峰值利用率低于40%40%挑战挑战2 2:资源碎片化,资源余量总量大,但对于大规格资源调度请求调度履约率难保障原因分析:原因分析:k8s原生调度策略优先策略无法满足实际业务使用特征对资源分配的规划能力LeastRequestedPriority:优先调度到剩余资源多的节
4、点上节点分配均衡,容易形成碎片,对大规格容器调度支持效果差MostRequestedPriority:优先调度到剩余资源少的节点上(类似预留资源)节点分配率不均衡,资源使用不均衡解决方案解决方案方案一:预留节点作为大规格容器申请专区 X实现简单,专区闲置资源浪费,管理复杂,且对资源碎片无优化作用方案二:基于桶迁移模型的资源调度方案二:基于桶迁移模型的资源调度 保证大规格容器资源申请提升调度履约率降低资源碎片12 桶划分及更新 根据历史资源申请规格统计数据,按照调度计算资源维度在对应的多维空间资源请求划分到不同区间;根据历史运营数据,统计各个桶内资源申请的比例作为桶迁移代价r;每个区间对应一个桶
5、,并将集群待调度节点按照其剩余资源放入不同的桶,要求剩余资源满足桶下限资源要求,不满足上限资源要求;在长期运营时,资源申请可能会发生变化,比如业务变化,之前主要使用4C8G的容器(比例最高)可能变成了8C16G,桶迁移代价?可以定期自动或手动更新。13节点位于不同的桶代表节点的资源供给能力;节点从一个桶迁移到另一个桶,表征着节点资源供给能力的衰减。14原生调度策略优化成果:大规格容器调度履约率提升基于桶迁移模型规划调度策略15原生调度策略优化成果碎片率下降、分配率提升基于桶迁移模型规划调度策略16阶段二:峰值利用率峰值利用率40%40%45%45%挑战:如何在空间维度把资源分合挑战:如何在空间
6、维度把资源分合理?理?集中调度导致热点宿主机,负载过高导致业务服务性能波动节假日大促时资源需求大,大促后大量资源冗余17阶段二:峰值利用率峰值利用率40%40%45%45%挑战挑战1 1:集中调度导致热点宿主机,负载过高导致业务服务性能波动集中调度导致热点宿主机,负载过高导致业务服务性能波动问题分析问题分析基于业务资源申请规格的静态调度无法感知业务的实际资源使用情况业务资源的实际使用和申请量之间的gap,不同的业务存在差异解决方案:解决方案:18预选策略预选策略 根据已调度到节点上的容器的历史负载峰值及当前待调度容器(假设调度到当前节点),预估对应节点的负载峰值 如果预估的节点负载峰值超过预设