当前位置:首页 > 报告详情

许龙-B站k8s平台混部与弹性伸缩技术实践.pdf

上传人: 2*** 编号:153885 2024-02-05 39页 2.07MB

1、B站K8S平台混部与弹性伸缩技术实践主讲人:许龙领域驱动设计启发下的AI视觉分析引擎构建主讲人:戴 昊演讲嘉宾介绍许龙 Bilibili-基础架构部/资深开发 8年互联网从业经验,2020年加入B站基础平台团队 深度参与b站k8s平台混部、弹性伸缩等方向技术演进 目前负责B站k8s方向的整体研发工作(混部、弹性伸缩、调度、稳定性)目录CONTENTS背景1234混部架构及实现基于弹性伸缩的容量管理总结与展望背景 1B站容器平台发展历程微服务容器化 平台0到1,经历Mesos到Kubernetes重构 推进框架、中间件、运时标准化 研发流程关键路径效率提升 整体险控制及稳定性保障通用计算容器化

2、平台化建设 撑离线多种计算场景 混部调度框架演进 精细化容量管控 规模集群性能优化2017-2018Paas平台上线在线业务全托管训练平台上线批处理平台上线20192020混部1.0上线边缘计算平台上线2021混部2.0演进容量管理平台上线2022大数据 on k8s函数计算平台上线统一计算平台 全托管的计算服务 统一调度 极致弹性B站容器平台架构服务器网络存储自建IDC云主机云专线云存储公有云容器运行时k8s组件容器网络镜像仓库资源调度弹性伸缩混部框架故障恢复发布平台机器学习平台边缘计算平台批处理平台主站在线业务直播广告电商转码离线业务训练大数据容器引擎层业务层平台层基础设施层CPU核数:百

3、万级容器数:30万+容器平台如何降本?在保证稳定性的前提下,持续提升机器资源利用率合池资源统一调度分配,避免碎片化合并buffer,增加弹性资源混部错峰混部,解决业务波谷资源浪费区分任务优先级,保障业务SLO弹性伸缩VPA动态调整容器配额(request),提升资源超卖率HPA自动扩容,应对流量突发,保障稳定性混部架构及实现 2混部的概念混部目标在保证业务的SLO的前提下,提高资源利用率,降低成本混部定义节点粒度:通过调度、资源隔离等手段,将不同类型、不同优先级的业务容器部署在一个物理节点集群粒度:多种业务应用的错峰填谷业务特点在线业务延时敏感,SLO要求高波峰波谷明显多活带来的资源冗余粗放的

4、容量管理带来的资源浪费离线业务延时不敏感,允许出错重跑计算密集磁盘io密集(shuffle)网络io密集(跨机房拉数据)混部模式在离线混部 在线+视频转码大数据混部 yarn on k8sGPU混部 推理+编解码在离线混部的难点调度1资源隔离2混部任务不能占用在线任务的可用配额(cpu/memory request)调度器需要动态感知节点的可混部资源量满足离线任务的调度性能避免离线任务对在线任务的性能造成干扰各个资源维度的精细化隔离措施(cpu/内存/磁盘/网络)2在离线混部的架构kube-apiserverwebhookkube-schedulerjob-schedulercolocatio

5、n-agentk8s nodecrmcolocation config managerk8s nodek8s nodeprometheusoffline podonline podK8s nodeclustermasteroffline colocation podcasteronline podextended resource任务下发模块在线任务通过容器发布平台(caster)下发离线任务通过批处理任务平台(crm)下发调度模块在线任务采用原生调度器离线任务采用自研离线任务调度器离线任务基于k8s扩展资源进行调度混部agent模块混部算力的动态计算和上报资源隔离监控数据上报配置管理模块不同

6、节点组的混部策略管控在离线混部的调度方案Device ManagerDevice PluginkubeletColocation agentJob-schedulerNodeAllocatable:caster.io/colocation-cpu:10 caster.io/colocation-cpu:10register resourcepodsk8s node离线任务下发模块API-Servercluster1API-Servercluster2API-Servercluster3动态混部资源视图基于k8s device plugin机制,动态上报混部扩展资源二级调度基于各集群混部资源余量

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了B站在K8S平台上实现混合部署与弹性伸缩技术的实践,以及基于领域驱动设计的AI视觉分析引擎构建。许龙,B站基础架构部资深开发,深度参与了B站K8S平台混部、弹性伸缩等方向的技术演进,目前负责B站K8S方向的整体研发工作。B站容器平台经历了从Mesos到Kubernetes的重构,推进了框架、中间件、运行时的标准化,提升了研发流程关键路径的效率,并实现了整体风险控制及稳定性保障。离线业务如视频转码、AI机审、大数据等,与在线业务如直播、广告、电商等混部调度,提高了资源利用率,降低了成本。B站实现了基于弹性伸缩的容量管理,通过VPA和HPA自动调整容器配额和实例数,满足了不同服务等级的SLO要求,同时避免了资源浪费。此外,B站还开发了基于TKE开源vGPU方案的GPU混部调度器,实现了算力和显存隔离。弹性伸缩平台支持多种定时模式,可应用于直播、电商、游戏、漫画等业务场景。
"B站K8S平台混部技术揭秘" "如何实现离线业务与在线业务的弹性伸缩?" "AI视觉分析引擎构建的实践与挑战"
客服
商务合作
小程序
服务号
折叠