OpenYurt边缘容器架构与原理
在中心云,Kubernetes容器平台已经成为容器编排和调度的事实标准,但是在边缘计算领域,涉及范围较大且场景复杂,缺乏统一的标准;当前Kubernetes开源社区的主线版本,并没适配边缘场景的计划。
目前国内各个公有云厂商,都开源了各自基于Kubernetes的边缘计算云原生项目,主要有华为的KubeEdge,阿里的OpenYurt,腾讯的SuperEdge,百度的Baetyl等,碎片化严重,短时间很难有大一统的开源产品。
长远来看,建议通过标准的Kubernetes API来集成,这种兼容所有边缘容器的中庸方案。如果非要择其一,建议是OpenYurt,非侵入式设计,整体技术架构及实现更加优雅。本篇主要是通过OpenYurt架构与原理分析,深入浅出的了解边缘容器的技术详情。
1.1.OpenYurt产品理念及特性
OpenYurt以上游开源项目Kubernetes为基础,针对边缘场景适配的发行版。是业界首个依托云原生技术体系、“零”侵入实现的智能边缘计算平台。具备全方位的“云、边、端一体化”能力,能够快速实现海量边缘计算业务和异构算力的高效交付、运维及管理。
1.1.1.OpenYurt产品理念
OpenYurt采用当前业界主流的“中心管控、边缘运行”的云边分布式协同技术架构,始终贯彻“Extending your native Kubernetes to Edge”产品理念,同时遵守以下设计原则:
“云边一体化”原则:保证与中心云一致的用户体验及产品能力的基础上,通过云边管控通道将云原生能力下沉至边缘,实现海量的智能边缘节点及业务应用,基础架构提升至业界领的云原生架构的重大突破。
“零侵入”原则:确保面向用户开放的API与原生Kubernetes完全一致。通过节点网络流量代理方式(proxy node network traffic),对Worker工作节点应用生命周期管理新增一层封装抽象,实现分散式工作节点资源及应用统一管理及调度。同时遵循“UpStream First”开源法则;
“低负载”原则:在保障平台功能特性及可靠性的基础上,兼顾平台的通用性,严格限制所有组件的资源,遵循最小化,最简化的设计理念,以此实现最大化覆盖边缘设备及场景。
“一栈式”原则:OpenYurt不仅实现了边缘运行及管理的增强功能,还提供了配套的运维管理工具,实现将原生Kubernetes与支持边缘计算能力的Kubernetes集群的相互一键高效转换;
1.1.2.OpenYurt功能特性
借助Kubernetes强大的容器编排、调度能力,针对边缘资源有限,网络受限不稳定等情况适配增强;将中心云原生能力拓展至分散式边缘节点,实现面向边缘业务就近低延迟服务;同时打通反向安全控制运维链路,提供便捷高效的,云端集中式边缘设备及应用的统一运维管理能力。其核心功能特性如下:
1.边缘节点自治:在边缘计算场景,云边管控网络无法保证持续稳定,通过增强适配解决原生Worker工作节点无状态数据,强依赖Master管控节点数据且状态强一致机制,这些在边缘场景不适配的问题。从而实现在云边网络不畅的情况下,边缘工作负载不被驱逐,业务持续正常服务;即使断网时边缘节点重启,业务依然能恢复正常;即边缘节点临时自治能力。