讲师简介
陈一苇,腾讯云资深云架构师,SuperEdge边缘容器开源项目发起人之一,拥有多年云原生架构设计经验。同时作为Linux基金会开源布道师,热衷于推广开源文化,协助对开源感兴趣的小伙伴们参与开源、学习技术,共同打造活跃的开源技术社区。
概述
SuperEdge是一个基于原生Kubernetes的边缘容器开源项目。以无侵入的方式,将云原生的容器管控能力和开源生态扩展到边缘计算的场景中,打通了边缘计算和云原生两个巨大的开源社区。项目链接:https://github.com/superedge/...
演讲内容分为三个部分:
· 开源生态的介绍以及开源对边缘计算的价值
· Linux开源基金会、云原生技术是如何促进边缘计算发展
· 基于SuperEdge开源边缘容器项目,打造边缘云原生一体化平台
开源生态与边缘计算
从布道师的角度,开源不仅仅是贡献代码,更是创造了一个分享技术的开放社区,给大家一起创造、学习、联系和互相协同。任何人都可以参与开源,既可以贡献代码、方案和场景化的需求。这些信息都会在开源社区里进行融合,通过分享和讨论,碰撞出新的技术、探索出新的实践。不管是是学生、工程师还是企业,都可以在社区里一起学习,共同成长。
开源给边缘计算带来了许多帮助。边缘计算是个非常之大的领域,是云计算向外的延展。上有边缘业务应用,中间有软件定义的计算存储网络资源,下层还有各式各样硬件设备。在当前的发展阶段,还没有一套统一的标准,也很难有一个公司能提出一套完整且通用的解决方案。而通过开源,依赖成员单位、开发者社区、学校等不同角色的人共同参与,才能快速沉淀与适用的标准和技术,开发出市场需要的产品。开源让技术在项目、产品和利润上形成一个闭环,利于项目的长远发展。边缘计算也能够借助于开源社区这股巨大的力量,更快地迭代出新的技术平台和产品,实现边缘计算的技术需求。
Linux基金会与边缘计算
Linux基金会是一个非营利组织,目的是建立开源生态,在全球范围内促进开源技术发展和商业化落地。通过与各行业的公司、开发者和用户之间的开源合作,融合差异化业务场景的需求,不断孵化出新的技术,营造最大的技术共享生态。
Linux基金会不仅仅有Linux,而是一个拥有超过200个关键开源项目的巨大社区。基金会的成员来自超过40个国家,1600多个单位。其中包含了边缘计算/IoT、云计算、安全、网络等技术以及能源、汽车、硬件等垂直行业。
Linux基金会中还包含了多个子基金会。例如LF Edge边缘计算基金会,CNCF(Cloud Native Computing Foundation),LF AI基金会等。像Kubernetes、Jenkins以及边缘计算基金会里的EdgeX Foundry和Baetyl这些我们非常熟悉的项目,都在Linux基金会中。
Linux基金会是一个中立的组织,因此很多开源项目都愿意把项目捐赠到基金会来确保项目的绝对中立,有利于各个成员放心的贡献,在开源社区进行组织和决策。社区的治理都是公开透明的,有效的避免了一家独大,保证了项目的长远发展。
同时,Linux基金会不仅仅会组织许多开源的活动,通过开发者社区和最终用户社区去帮助项目进行布道和项目推广,还在5个关键领域为开源项目提供协助。包括治理和会员,开发过程,基础设施,生态系统发展,知识产权管理。
在Linux基金会之中,LF Edge基金会与CNCF基金会是与边缘计算关系最密切的。
LF Edge基金会
LF Edge基金会,主要目的是为边缘计算领域建立一个开放、中立的社区。主要使命是促进包括物联网、通讯、云生态以及企业的跨行业合作;帮助边缘计算在各个行业加速落地;给用户提供中立的交流和传播社区;且促进各边缘项目之间的合作。LF Edge基金会中的项目涵盖了应用互操作性、操作系统、虚拟机监视、设备配制、基础设施等几个大方向。
《2021 State of the Edge报告》也是LF Edge基金会的一个项目。其主要研究当今的边缘计算生态系统,重点关注在网络,关键基础架构,软件和硬件领域之间日益增长的联系。报告中特别指出边缘计算的管控特别适合使用云原生工具,用统一标准的抽象向边缘部署软件并自动执行操作。这就引出了下面要讲的CNCF基金会。
CNCF基金会
CNCF云原生基金会,定义了云原生是有利于各组织在共有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展应用的技术。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
在上面的CNCF路线图中可以看到云原生提供了非常丰富的能力及工具。其中许多能力在边缘计算的场景下也有非常大的需求,可以说与云原生技术的深度融合是边缘计算未来的一大发展方向。因此,SuperEdge开源边缘容器项目应运而生,提供了一个适合边缘计算的云原生容器管控平台,作为边缘计算与云原生能力整合的媒介。
SuperEdge项目
SuperEdge是在2020年12月19日,由腾讯云联合英特尔、VMware、虎牙、寒武纪、美团、首都在线,共同发布的边缘容器开源项目。项目打通了云原生和边缘计算两大领域,解决了云原生平台Kubernetes在边缘侧使用的挑战,以无侵入的方式将Kubernetes强大的容器管控能力扩展到边缘,去构建端到端的边缘计算一站式平台解决方案。
边缘计算挑战
SuperEdge架构
SuperEdge使用云端管控集群的模式,由部署在云端的原生Kubernetes统一管理分布在各个边缘的节点。由于对Kubernetes无侵入,SuperEdge完全兼容原生的API及各种云原生应用方式,还特别针对边缘计算场景进行了增强。下面重点介绍四个核心的边缘组件:
Lite-apiserver:边缘节点自治。作为边缘端对kube-apiserver的代理,缓存了边缘节点组件对kube-apiserver的请求。在云边网络异常时利用本地存储的信息维护节点上应用的运行状态,消除边端应用受云端间通信抖动或中断的影响,从而提供持续稳定的服务。
Edge-health:边缘端分布式节点健康检查。用于边端节点状态的互相探测,支持对节点分区域进行检查。在云端的原生Kubernetes Master会对所有节点进行实时探测,驱逐断连节点,并在其他节点重启应用。但是这并不适用于边缘计算边端和云端不稳定通信的情况。仅仅由于网络的抖动就对边端节点状态产生误判,会导致pod频繁被驱逐引起不必要的服务中断和波动。通过边缘分布式健康检查机制,在边缘节点间引入健康探测,不完全依赖于云端,以更快更准确的获取节点真实状态。
Tunnel-edge:云边隧道。在云端与无公网IP节点间建立gRPC通道,使得云端能够主动访问边端节点。现已支持TCP、HTTP、HTTPS、SSH等协议。
ServiceGroup:边缘服务管理和流量配置。SuperEdge创新性地构建了ServiceGroup的实现。用户能够根据地理位置、网络等拓扑信息,把一个集群中纳管的边缘节点分为多个服务区,便捷地向指定机房或区域部署服务,更支持把服务间请求限制在当前服务区,避免了不必要的跨地域网络开销。此外,还能通过ServiceGroup实现服务区灰度发布,提高平台运维能力。
参与SuperEdge项目
SuperEdge为边缘计算提供了一个巨大的舞台,连接云原生与边缘计算,将两大技术领域的生态整合起来,有着十分广阔的发展前景。我们希望有更多人员参与进来,在各个行业领域进行合作,建立活跃的开源技术社区,从而促进边缘计算的发展。欢迎大家一起来贡献想法、技术和场景!
感谢阅读,欢迎扩散传播!感谢!
推荐阅读
来源:边缘计算社区
作者:雷波
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!