中国科技周刊(www.chinatechweekly.com)

您的位置: 中国科技周刊 > 科技 > 数码 > > 正文

如何将K8s下放到边缘计算?华为云KubeEdge实现10万节点云原生管理

近年来,随着互联网流量的爆发式增长,把软件业务进行拆分的微服务架构已经成为很多大中型互联网公司的建设标准,容器技术及相关应用得到了国内外越来越多的关注度。在国外,...

近年来,随着互联网流量的爆发式增长,把软件业务进行拆分的微服务架构已经成为很多大中型互联网公司的建设标准,容器技术及相关应用得到了国内外越来越多的关注度。在国外,容器技术已经形成了较成熟的生态圈;而在国内,金融企业、互联网企业、IT 企业也正在积极投入容器技术的应用。

在容器集群编排与管理领域,CNCF 旗下的 Kubernetes (简称 K8s) 成为资源调度和编排的行业事实标准,其屏蔽了底层架构的差异性,帮助应用平滑地运行在不同的基础设施上。现在大家已经把 K8s 称为云应用的一个操作系统,从一些无状态的外部应用,慢慢地发展到企业核心的交易类应用、数据智能应用等,越来越多的应用运行在 K8s 上。 

在 K8s 一统云端和服务端开发之际,有人提出“既然 K8s 这么好用,能不能用它来管理边缘端的资源调度和编排呢?”

我们知道,边缘计算具有覆盖范围广、带宽成本高、受环境影响大等部署难点,如果要将 K8s 系统延展到边缘计算场景,边缘节点将通过公网和云端连接,从公网的不稳定性以及成本等因素考虑,边缘要求断网状态或者弱网状态下边缘业务仍可以持续运行,对系统的可用性提出了更高的要求。可一旦在边缘端成功部署,原本难以统一管理的边缘设备就将得到 K8s 带来的云原生技术便利,大大降低运维成本。

以遍布全国各个主干道的收费站系统项目为例。该项目涉及软硬件范围包括 10000 个收费站、30000 台门架服务器、300000 个门架后端应用、27000 个门架、74000 台车道控制器、232000 个门架前端组件,合计需要实现 10.4 万台异构设备的管理和 53.2 万个前后端应用的生命周期管理,治理难度可见一斑。

除了数量规模庞大以外,该项目还有以下诸多难点和挑战:

多硬件架构(有 ARM 也有 x86),供应商多样化(华为、研华、研祥等),需要异构支持和强兼容性。

边缘工控设备仅为 4 核 ARM SOC,可用内存也仅为 1G,需要低资源占用的解决方案。

从最终路段到路网中心一共分为 6 级管理层次,管理成本高,因此需要一个高度集成的边缘方案,才能降低运维成本。

网络分为部省、省站两层,多次转发。需要低接入要求,可支持专线、代理、有线和无线公网接入等多种方式。

各地基础设施建设不同,有些省份网络带宽甚至低至 3M,需要低带宽占用。

收费站网络条件差,经常出现断网情况,需要边缘系统具备离线自治功能。 

可以看到,K8s 的特性与上面的很多功能需求都非常契合,包括跨平台的高兼容性、底层抽象的高集成性、强大的自治能力等。但 K8s 毕竟最初是为了云端数据中心而设计的,直接套用在边缘端存在资源受限、网络波动、异构设备管理等问题。因此,要想把 K8s 的优秀特性延伸到边缘计算领域,就需要一些中间件来发挥作用。

由华为云开源的 KubeEdge 项目就是把 K8s 应用到边缘计算的解决方案。KubeEdge 对 K8s 模块化解耦、精简,使 KubeEdge 最低运行内存仅需 70M,并且实现了云边协同通信、边缘离线自治等功能,可将本机容器化应用编排和管理扩展到边缘端设备。它构建在K8s 之上,为网络和应用程序提供核心基础架构支持,并在云端和边缘端部署应用,同步元数据。

KubeEdge 能够 100% 兼容 K8s API,可以使用原生 K8s API 管理边缘节点和设备。此外,KubeEdge 还支持 MQTT 协议,允许开发人员编写客户逻辑,并在边缘端启用设备通信的资源约束。

而华为云智能边缘平台 IEF 是首个基于 KubeEdge 的商业化智能边缘服务,除了具备KubeEdge 的极致轻量、云边协同、离线自治等能力外,依托华为云的软硬件支持,IEF 可支持10万+ 边缘节点、百万边缘应用的大规模业务场景,并与华为云 10+云服务联动,极大地丰富了云协同的能力。

回到前面提到的收费站边缘计算项目。当前基于 KubeEdge 的边缘管理系统管理着全国 29 个省、自治区的将近 10 万边缘节点,超过 50 万边缘应用的部署,支撑了高速公路门架业务的不断调整、更新,满足了每日3亿条以上的信息采集,为日后车路协同、自动驾驶等创新业务的发展提供了良好的平台支撑 。同时,K8s 提供的通用部署和调度模型很适合部署大规模边缘应用。

总的来说,K8s 给边缘计算提供了先进的运维思路,但单纯的原生 K8s 并不能满足边缘侧业务的所有需求。而集成了 K8s 云原生管理能力的 KubeEdge,同时对边缘业务部署和管理提供了很好的支持, 因此被引入到平台中来进行边缘节点管理和应用程序部署。现在 KubeEdge 正在管理上万个高速公路收费站的容器,每天处理 3 亿个数据记录。

如果还想了解更多 KubeEdge 在边缘计算场景的实例与开发故事,敬请关注由云原生基金会 CNCF 主办的年度开源盛会 KubeCon 2020 线上峰会,届时将有来自华为和星云数据的两位技术大牛为大家带来 KubeEdge 的主题演讲:

主题演讲:使用K8s管理中国高速公路上的十万个边缘节点

Qi Zhang,华为首席架构师

演讲人:Qi Zhang,华为首席架构师;Xiaolong Dong,星云数据架构师

在这次演讲中,Xiaolong 和 Qi 将介绍拥有 10 万个边缘节点的交通运输部电子收费系统选择 K8s 的原因和主要挑战,以及他们的团队是如何在边缘上部署和管理应用程序的,最后还将分享团队在该项目过程中取得的成绩和教训。

对云原生前沿技术感兴趣的开发者朋友,千万不要错过这场大牛云集的开源界年度技术盛会!

行业相关

广告也精彩