摘要:CCE Turbo是华为云推出的一款革命性容器集群。
5月31日,在华为云Techwave云基础设施技术专题日上,华为云容器批量计算首席架构师马达对CCE Turbo的技术内幕进行了深度解读,CCE Turbo是华为云推出的一款革命性容器集群,在华为开发者大会(Cloud)2021上正式发布,通过计算、网络、调度的全方位加速,为企业应用创新提速。
软硬协同,为计算加速
为了解决集群服务器性能无法完全发挥的问题,华为云基于擎天架构的软硬协同能力,推出了业界独家的容器卸载技术,并应用到CCE Turbo,让集群资源100%用于业务处理。同时,通过对引擎进行瘦身、优化内部执行逻辑及核心模块重写,如基于Rust语言重写了 shimv2 和 agent,减少了进程数量、通过代码优化减少内存消耗,提升容器启动性能和Cgroup管理能力,同时结合擎天卡的高能性处理能力,将集群整体性能提升40%,资源使用成本节省30%。
Trunkport,为网络加速
网络连通速度、转发效率一直是业务应对大流量时所面临的挑战,华为云基于云原生2.0“IN Cloud”理念,打造了全新的云原生网络,利用Trunkport技术为网络全面加速。
Trunkport技术使得容器可直通VPC网络,将原有的“容器网络 + 虚拟机网络“的两层模型变为一层,网络资源连通时间缩短一半,有效支撑业务30秒内扩容1000容器实例,轻松应对流量浪涌,同时也将网络通信时延降低了40%,让应用访问更流畅;
CCE Turbo还率先在业界实现了为容器配置独立安全组和QoS,相比目前其它厂商容器与集群节点共享安全组的方案,不仅增强了容器通信安全性,还提升了大流量的转发效率。此外,CCE Turbo还基于CRD机制扩展了Kubernetes对象,用于实现各种复杂安全隔离诉求,并进一步简化容器安全组的配置。
Volcano,调度加速
企业核心业务全面云原生化后,如何提升调度效率、提升集群利用率,是困扰很多企业的难题。CCE Turbo基于Volcano实现了三大核心调度能力:
- 在线离线混合调度:CCE Turbo将企业离线和在线业务在同一集群中混合部署,相比之前不同业务分集群部署,极大的降低了运维工作量,同时,根据在线、离线业务的不同需求进行灵活调度,如:当在线业务访问量低时,CCE Turbo可将空闲资源用来运行离线计算业务(如离线分析、模型训练等),而当业务高峰来临前,会自动释放离线业务占用的资源,保障在线业务对资源的诉求;
- 应用感知智能调度:为了进一步提升混合部署后的集群利用率,通过感知应用模型(如web类应用、Tensorflow的PS和worker、Spark的Driver和executor等),针对不同应用模型对资源的诉求、应用负载情况,通过资源按需抢占、分时复用等机制,减少集群资源的空闲比例;并通过感知任务间拓扑结构,将各任务调度到最佳节点上,减少因网络瓶颈、数据跨节点传输等带来的时间损耗,进而可以将集群利用率提升2倍;
- 大规模分布式调度:为了保障业务混合部署后,海量任务并发调度的难题,CCE Turbo推出了分布式架构的任务调度器,提升吞吐能力,并通过调度算法剪枝,减少寻址深度和广度,同时结合调度决策复用机制,可将调度寻址时间缩短10倍以上,实现每秒1万容器的大规模并发调度。
CCE Turbo为VIPKID音视频业务全面提速
VIPKID作为CCE Turbo的早期用户,已充分享受到CCE Turbo三大加速为业务带来的价值,本次专题日上,VIPKID后端研发高级专家慈轶恒在分享中表示,“使用CCE Turbo后,VIPKID音视频业务在各方面的指标都得到了不同程度的优化,同等规格集群性能较之前提升了40%,业务交互时延降低了40%,使得用户体验进一步提升,整个业务成本节省43%左右,很好的控制了业务高速增长期的IT成本增长速度。”
作为最早一批投身云原生技术的厂商,华为云是云原生计算基金会(CNCF)在亚洲唯一的初创成员,社区代码贡献和Maintainer席位数均位居亚洲第一,并贡献首个云原生智能边缘项目KubeEdge和批量计算项目Volcano,在华为开发者大会 2021(Cloud)上,华为云还联合多家企业开源了云原生多云容器编排项目 Karmada,持续引领云原生技术发展方向;在产品创新方面,华为云自2016年起相继在业内首发一系列云原生产品与解决方案,在Forrester的产品能力评估中,连续两年获得满分,且容器软件市场排名已位居中国第一;在繁荣产业方面,华为云不仅联合中国信通院发布了云原生2.0白皮书,全面诠释云原生2.0核心理念,还与CNCF、中国信通院联合构建了全球化的云原生交流平台——创原会,华为云将联合各行业云原生精英一起,共同探索前沿云原生技术、共享产业落地实践,用云原生技术全面赋能企业数字化转型。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。