《大规模容器集群降本增效实践-谭霖 .pdf》由会员分享,可在线阅读,更多相关《大规模容器集群降本增效实践-谭霖 .pdf(32页珍藏版)》请在三个皮匠报告上搜索。
1、大规模容器集群降本增效实践谭霖/美团 基础研发平台基于业务负载动态调整资源在集群调度系统中的应用31.在线集群调度的核心挑战2.集群负载自动管理系统(LAR)落地实践3.在线集群调度的运营实践4.在线集群调度的演进思考目录4在线集群调度的核心挑战在线集群调度的核心挑战5集群调度领域介绍集群调度系统又叫做数据中心资源调度系统,目标是提升数据中心资源利用率,并为业务方提供自动化运维能力:整合数据中心的零散异构服务器为大规模弹性计算资源池,并结合存储/网络能力,为业务按需分配计算能力。通过集群规模效应,降低计算成本6集群调度的挑战与困难提高在线集群资源利用率&同时保障应用服务质量解决不同业务之间的个
2、性化调度需求并快速响应提供有状态服务实例的自动化变更和异常处理7行业资源利用率水平 2020年全球数据中心的服务器总量达到1800万台,并且正以每年100万台的速度增长。统计数据表明,目前全球数据中心资源利用率仅为10%20%,如此低的资源利用率意味着数据中心大量的资源浪费,导致目前数据中心的成本效率极低。8美团业务特征美团部分在线服务具有明显的双峰特征分配给业务的资源在时间和空间维度存在闲置9资源利用率提升难点在线应用对于资源利用率及其敏感,部署在物理机的服务在共享资源(CPU、Memory、IO、LLC)使用上存在相互干扰利用率水平越高越容易出现业务服务质量受影响的问题资源利用率与服务质量
3、的矛盾资源利用率与服务质量的矛盾问题场景二:集中调度问题问题场景三:资源争抢问题宿主资源不足时,出现核心服务被非核心服务干扰,影响性能某个业务的实例都聚集调度到个别宿主/交换机下,硬件故障后影响大问题场景一:热点宿主问题容器扩容到集群的热点宿主,影响业务服务质量高频问题场景高频问题场景:10问题根因:原生调度能力无法满足大规模调度需求集群调度能力不足集群调度能力不足:资源水位失真:按照业务申请资源分配资源,没有考虑实际使用情况(问题一根因)单集群局限:调度范围受限,导致无法找到合适的宿主机,出现集中调度(问题二根因)优先级不区分:核心服务和非核心服务为同一调度优先级(问题三根因)内核单机能力不
4、足内核单机能力不足:资源隔离能力不足:共享资源(CPU、LLC、内存带宽、网络带宽等)易出现争抢,严重影响在线服务质量内存溢出处理不可控:内核系统出现OOM后,会随机Kill进程,结果不可控需要满足的需求需要满足的需求:打散需求:服务需要按照故障域分布,且服务存在亲和/反亲和关系容量需求:业务为了保证业务可用性,会申请超量资源作冗余弹性需求:为应对业务突增需求,需要预留资源保障业务弹性扩容只能通过资源冗余来保障服务质量11解决方案:全局视角下的精细化管控通过掌握集群实际负载数据,全局解决调度均衡问题,提升单机资源隔离能力,实现资源精细化管控集群运营数据中心收集集群状态、宿主状态、服务状态数据,
5、提供数据支撑多集群调度器构建全局视角,并优化调度策略单机维度提升资源隔离和管控能力美团集群调度方案整体架构图12集群负载自动管理系统集群负载自动管理系统(LAR LAR,Load AutoLoad Auto R Regulatoregulator)落地实践落地实践13集群负载自动管理系统能解决什么问题问题现状问题现状:Kubernetes默认会把单机资源按照容器维度分配quota,所有容器一起争抢整机资源。服务质量难保障,合理quota难评估。核心思路核心思路:通过把单机资源按照优先级分成多个资源池,并把业务容器归属到不同资源池来平衡服务质量和成本。宿主机不同资源池宿主机资源池调整14举个例子
6、:资源池CPU资源变化核心任务负载上升后,决策减少非核心资源池CPU资源核心业务资源池Pool0拥有12核普通在线业务资源池Pool1拥有20核离线业务资源池Pool2拥有32核核心业务资源池Pool0拥有16核普通在线业务资源池Pool1拥有34核离线业务资源池Pool2拥有24核资源池化方案示意图15集群负载自动管理系统架构从功能上来看,整个产品分为三个核心模块:分级资源池调度(Scheduler)负载分析预测(Recommender)服务质量保障(QosAdapter)16核心概念1:分级池化资源节点资源被划