在?2022云栖大会龙蜥峰会云原生专场,爱奇艺基础设施研究员赵薇分享了《基于龙蜥与 Koordinator 的在离线混部实践》技术演讲,以下是本次演讲的内容:1.爱奇艺线下背景业务组合。和很多互联网公司一样,爱奇艺常见的负载类型包括业务应用、数据库&中间件、离线任务等。其中,业务应用包括有状态应用和无状态应用。无状态应用可以借助运维平台,让业务团队和运维团队的职责划分更加清晰,适合混合部门;运行质量难以保证。数据库和缓存当前未在混合集群上运行。离线任务中的非实时任务,比如夜间转码、数据处理等只关注吞吐量而不关注时效性的任务,也是混合部署的对象。爱奇艺在混合系上经历了很长一段时间的探索。2013年,爱奇艺首次进行计算和存储混合。进入容器时代后,爱奇艺在Mesos上花费了大量精力。率先将在线任务内容制作、Spark、Storm等所有工作负载混合在一个集群中,无需任何特殊隔离处理。在Docker上遇到困难后,爱奇艺将业务拆分为节点和集群;进而导致常年离线任务的集群资源不足,线上业务集群的利用率很低,尤其是晚上,利用率甚至只有个位数。因此,爱奇艺考虑将夜间在线任务的资源提供给线下任务。2016年通过MesosOversubscription功能,引入了基于真实资源做额外计数器的机制,将任务分为延迟敏感类和best-effort类混合部署。但由于细粒度隔离问题,这条路也没有尽头。在K8s阶段,由于线上业务扩展性的增强和普及,第二套计数器不再是强烈需求。爱奇艺直接在K8s上混部署,引入Kata保证服务质量。2022年将引入DragonLizard+Koordinator一起构建混合架构的下一步。从多年的混部经验,爱奇艺总结出影响混部的关键因素:服务质量,尤其是线上业务的质量,没有服务质量,混部就没有意义。获取额外的资源。任务适应。额外资源的获取方式有两种:一种是使用一组计数器按固定比例超卖资源,直接混合使用,或者按经验比例分配给各类负载。二是多组资源计数器。一种方式是通过经验数据来判断集群的空闲时间和空闲资源。另一种方式是通过类似MesosOversubscription的方式实时检测空闲资源。服务质量策略分为静态和动态。动态是指离线服务之间或者具体流程之间的动态调整,静态是指一旦下发就固定不变,即使有影响也不会改变。2.DragonLizard与Koordinator探索线下业务组合。Koordinator并没有对分布式架构做本质上的改变,而是在云原生规范方面做了更多的工作,比如业务类型的抽象,使得K8s和Koordinator具有相同的实现通用分布式架构的可能性,不像以前,它只能针对特定的业务进行定制。Koordinator可以简单理解为给K8s添加插件或者增强功能。首先添加一个调度器,引入一套资源技术,节点上有一个Koordlet,负责收集资源,保证任务的隔离性。它的工作机制是利用计数器在实际利用的基础上进行二次分配。整机的实际利用率取决于离线任务的利用率。在保证在线服务质量的前提下,可根据实际情况随时调整水位。Koordinator在任务分配上分为五种(图中只列出了常用的四种),通过不同层次的分类,为线上线下业务提供不同层次的保障。为了进一步保证服务质量,爱奇艺推出了AnolisOS。GroupIdentity功能和CPUBurst功能大大提升了当前的混音效果。AnolisOS通过配置不同的GroupIdentity实现两套进程调度,一套作为线上业务的调度器,另一套作为线下任务的调度器。线上业务的整体优先级高于线下任务。此前,在公平调度的机制下,线上线下服务之间存在细粒度的资源相互竞争;引入两套调度器后,这个问题就可以合理避免了。CPUBurst的作用是让公平调度进程之间的切换更加顺畅,避免出现毛刺。第一个试点业务是某类内容的实时制作,目前已经全面运行混合部门资源。从某种意义上说,它是零成本的,因为所有其他服务器节省下来的资源都被重新利用了。目前运行非常稳定,没有对在线业务造成不可接受的中断。每天对热门视频编码两次或更多次,对于爱奇艺来说也是一项繁重的非实时离线计算任务。目的是降低比特率或通过再现??提高质量。该任务目前处于灰度验证阶段,预计在接入AnolisOS和Koordinator后会带来足够的惊喜。在大数据离线计算方面,出于综合考虑,爱奇艺仍然选择了Kata作为运行时,因此正在积极与DragonLizard社区进行探索,并尝试与Kata和Koordinator进行合作。上图是试点前后的效果对比。在验证环境设计相对保守的情况下,整体利用率提升了50%以上。图中,任务高峰期CPU使用率低于水位的主要原因是BE任务请求的资源没有得到充分利用,这就涉及到离线任务的运行。当然,如何通过技术手段将真实资源进行三次、四次甚至无限次分配,也是爱奇艺希望尽快解决的问题。3.未来工作展望未来,爱奇艺将与龙蜥社区携手并进。首先,以50%或更多的CPU使用率为目标。其次,由于涉及到多租户,需要进行资源分配,尤其是离线任务资源总量不稳定,离线池资源分配不合理、资源抢占问题时有发生。希望以后可以避免这样的问题。最后,爱奇艺将继续探索线下任务的质量保障。关于龙蜥峰会云原生特色课件获取方法:【PPT课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件”获取。如有任何问题,欢迎随时咨询龙蜥小助手——小龙(微信:openanolis_assis)。【视频播放】:可到龙蜥官网观看视频播放。-超过-
