首次搭载于量产车型,蔚来汽车 × KubeEdge 创新构建车云协同平台
8月21日-23日,由云原生计算基金会(CNCF)和 Linux 基金会联合主办的KubeCon + CloudNativeCon + Open Source Summit + Al_dev China 2024 大会在中国香港盛大召开。会上,华为云云原生开源负责人,CNCF TOC王泽锋,蔚来汽车战略新业务数字系统架构师蒋旭辉联合发表“云原生技术加速电动汽车创新”主题演讲,深入探讨云原生解决方案在革新EV领域中的转变影响和未来前景。
KubeCon China 2024 主题演讲
作为一家全球化的智能电动汽车公司,蔚来致力于提供高性能的智能电动汽车与极致用户体验,坚持核心技术的正向研发,建立了由12个领域的技术栈构成的“蔚来技术全栈”。硬件基础决定软件形态,随着车载算力的不断增强,车端软件数量也在爆发式的增长。车端作为其团队重点,在新的行业变革中也产生了新的需求和挑战。
E/E架构与SDV趋势下车端软件开发挑战
根据博世2019年提出的整车电子电器架构的演进图,当前的新能源汽车有一部分已经达到了3.0时代,即区域控制器和车载电脑;在向车云计算的演进过程中,部分功能已在实现车云协同。基于3.0架构,汽车行业有一个比较热门的话题,是软件定义汽车。软件定义汽车实际是SOA架构和中央计算E/E架构的合体。其中的核心就是中央计算单元。当前的中央计算单元已经融合核座舱、网联、智驾的能力,软件平台的重要性更加突出。在规划中央计算单元的规划定义阶段,将云端的能力当成整体平台的一部分,实现车云的一体化设计。
行业趋势 – SDV
蔚来数字系统团队,主要聚焦于整个平台中的智能网联和工具链的部分。在智能网联的研发环节,面临的行业环境变化有:
敏捷开发敏捷交付需求:软件研发周期变短,汽车换代时间由以前的8年左右现在提速到1年多。随着软件比重的增加,交付后版本更新成为一个必须项。硬件平台异构,开发人员很并行开发难度高。
研发与测试管理成本提升:汽车软件除了一些硬件的差异化配置外,软件也开始出现差异化。为了实现软件的千人千面,需要平台提供定向推送的能力,管理复杂。传统的汽车厂商作为集成商,更多的是做整车的功能测试。随着汽车厂商的软件自研能力提高,软件测试项目的内容和复杂度也大幅提高,这些变化带来了测试成本的挑战。
跨领域团队协作愈发频繁:中央计算单元集成的功能递增,车和云之间,自动驾驶、网联、座舱等团队的交叉协作越来越密切。汽车软件的开发也在引入互联网的模式,由传统的V模型,转变到V模型与敏捷开发混合。
技术生态双重优势云原生助力车端软件平台构建
对于当前车企研发所面临的问题,王泽锋提到,构建车端软件平台,云原生从技术维度和生态维度均具备明显优势。技术层面,云原生提供便捷的软件依赖管理,灵活的编排部署策略,技术栈开放,灵活可定制;生态层面,成熟的云原生生态为企业提供了丰富的选择,厂商基于标准接口提供服务,互操作性强且开源为主,拥有丰富的标准软件生态,与此同时,云原生行业人才系统成熟,这为车企提供了众多方案选择与研发力量后盾。
CNCF TOC 华为云云原生开源负责人 王泽锋
如何基于云原生技术构建车端软件平台?将云原生技术栈应用到车的领域,也面临着以下挑战:
1. 算力稀缺:车端算力成本比云数据中心、消费电子高出很多;
2. 海量边缘节点接入:汽车的接入数量级在数十万到数百万之间,对于平台的管理规模本身就是巨大的挑战;
3. 运行环境差异:汽车的网络环境稳定性差(经常处于地下室、隧道等无网络环境),本身的高速移动也会表现为网络的高延迟高丢包现象。
以KubeEdge为核心构建蔚来整套车云协同平台
蒋旭辉提到,经过大量调研和选型工作后,我们发现KubeEdge能够很好地解决这些挑战,因此我们选择使用KubeEdge作为平台的核心,以Kubernetes + KubeEdge为技术底座,构建了整套车云协同平台。在实车端应用的容器化后,蔚来在车上引入了KubeEdge,将车端的容器应用也纳入到API-Server统一管理。KubeEdge在给车端带来容器应用编排能力的同时,自身占用资源较少,并且启动非常迅速,可以满足汽车软件的使用场景需求。借助KubeEdge的离线自治能力,在弱网/断网环境下,平台也可以实现车端软件的稳定运行和故障恢复。
蔚来汽车战略新业务数字系统架构师 蒋旭辉
KubeEdge架构优势
作为专为云边协同开发的平台,KubeEdge兼顾各种边缘场景的特殊性:
-
使用K8s作为控制面,并将KubeEdge的额外功能也通过K8s API提供,最大限度地帮助用户融合云数据中心与边缘的生态;
-
针对边缘环境受限的场景,KubeEdge在完成自身轻量化的基础上支持用户自定义功能裁剪,以满足不同的资源需求。并且KubeEdge提供了节点级元数据持久化,支持边缘离线自治;
-
KubeEdge双向多路复用的云边消息通道,替代原本的节点与控制面之间链接,实现对于APIserver连接数的放大,并且引入全时段可靠增量同步的机制应对弱网环境挑战。
KubeEdge设计理念
在车上引入KubeEdge,将车端的容器应用也纳入到API-Server统一管理,在给车端带来容器应用编排能力的同时,KubeEdge自身占用资源较少,并且启动非常迅速,可以满足汽车软件的使用场景需求。借助KubeEdge的离线自治能力,在弱网/断网环境下,也可以实现车端软件的稳定运行和故障恢复,蒋旭辉在演讲中表示。
▍突破APIserver连接数限制,实现超大规模边缘汽车管理
在量产车型大规模接入的场景中,需要实现高出传统云数据中心几个数量级的节点管理规模,并且应对节点联接的潮汐效应问题。在KubeEdge的云边通信机制中,配合车端的持久化存储,我们实现了全时段的增量同步机制,可以有效降低车辆启动和断联恢复时的网络冲击,以及状态同步过程中持续开销。通过云边消息通道的双向多路复用机制,KubeEdge可以突破APIserver的连接数限制,实现超大规模的边缘汽车管理。
蔚来基于KubeEdge构建车云协同平台架构
KubeEdge使用K8s作为控制面,将车的Node、Pod等资源对象的管理实现为K8s原生的API,屏蔽了车端与云端资源的管理差异。业务系统可以很方便地管理车上的容器应用,而不需要感知应用在不同环境应该如何部署。
▍场景实际落地, 开发速度、软件质量提升,有效降低使用成本
新能源汽车电池健康安全数据分析
新能源汽车电池安全一直是用户比较关心的重点,蔚来在电池安全和电池健康方面也一直投入了大量的精力去实现更优的体验,除了电池本身的技术演进外,还运用大数据和人工智能算法来预测和分析电池健康程度,从而优化电池策略,提高电池寿命。
场景1 数据分析-电池健康安全检测
在具体的工程侧,由于成本和网络的限制,数据分析团队需要进行车和云端结合的算法来达到最佳效果。边缘算法部署在车端,进行特征提取等计算,云端进行时间序列分析等。
基于此场景,蔚来数字系统团队创新使用云原生技术,在算法开发阶段,算法开发同事使用容器化的方式进行边缘算法的开发。统一使用容器打包镜像,通过K8s,使云端的算法和车端的算法同步部署。
在工程车辆验证阶段,算法团队只需切换依赖的基础镜像,就可以将边缘计算的容器应用快速小批量地部署到工程车辆,进行算法的验证。验证通过后,整个算法主体部分开发完成,算法团队只需根据目标车型替换对应的量产基础镜像,即可完成量产包的制作,无需关心车端的运行环境、系统版本等细节问题。
引入云原生能力构建车端软件测试管理平台
蔚来在开发阶段使用云原生技术以外,在软件测试阶段也引入云原生的能力。以往的的测试台架资源主要为离线的人工管理方式,不能充分利用台架资源。实车、台架本身具备较大的差异,各测试阶段和测试环境比较孤立,难以覆盖组合场景的测试需求。
场景二 功能软件测试
引入云原生能力后,Virtual car、台架和实车通过接入到K8s的统一监控和管理,可以更合理地安排测试任务,从而提高测试资源的利用率。蔚来团队同时创新性地将Testcase也进行了容器化,通过基于K8s Job的调度机制,可以更灵活地进行让我们的测试用例在不同测试环境上交叉执行,覆盖更多的场景。
通过以上的两种场景应用,实现效能提升:
-
开发速度提升:平台提供了统一的容器化环境依赖管理和部署方式,降低了开发门槛,提高了效率;
-
软件质量提升:平台提供了多环境多节点的统一管理,可以支持规模的自动化测试并行执行;
-
使用成本方面:平台学习门槛低,灵活的发布策略使得整个平台的台架等硬件环境可以更高效合理地被分配和使用。
车载硬件和算力的提升带来了车端软件新的发展,在车云协同的当下,智能汽车领域更需要更新的平台技术,来支撑汽车软件的持续演进。蔚来汽车基于Kubernetes + KubeEdge开发云原生车云协同平台,并且首次搭载于量产车型,这是云原生生态领域中一次全新的尝试,为车企带来开发交付效率、团队协作等方面的巨大提升。也相信云原生技术将持续推进整个车端软件的研发创新与深入应用,助力汽车行业迎来更广阔的未来。
更多云原生技术动向
关注容器魔方
- 点赞
- 收藏
- 关注作者
评论(0)