OpenYurt 是阿里巴巴开源的首个边缘计算云原生项目。
该项目主打“云边一体化”概念,依托原生Kubernetes强大的容器编排、调度能力,通过众多边缘计算应用场景锤炼,实现了一整套对原生Kubernetes“零”侵入的边缘云原生方案,提供诸如边缘自治、高效运维通道、边缘单元化管理、边缘流量拓扑管理,安全容器、边缘Serverless/FaaS、异构资源支持等能力。OpenYurt能帮用户解决在海量边、端资源上完成大规模应用交付、运维、管控的问题,并提供中心服务下沉通道,实现和边缘计算应用的无缝对接。
OpenYurt适用于常见的边缘计算用例,其需求包括:使设备和工作负载之间的长距离网络流量最小化。克服网络带宽或可靠性限制。远程处理数据以减少延迟。提供更好的安全模型来处理敏感数据。OpenYurt技术方案有如下特点:
对原生Kubernetes“零”侵入,保证对原生K8sAPI的完全兼容。不改动Kubernetes核心组件,并不意味着OpenYurt是一个简单的KubernetesAddon。OpenYurt通过proxynodenetworktraffic,对Kubernetes节点应用生命周期管理加了一层新的封装,提供边缘计算所需要的核心管控能力;
无缝转换,OpenYurt提供了工具将原生Kubernetes“一键式”转换成支持边缘计算能力的Kubernetes集群;
低Overhead,OpenYurt参考了大量边缘计算场景的实际需求,在保证功能和可靠性的基础上,本着最小化,最简化的设计理念,严格限制新增组件的资源诉求。
以上技术特点使得OpenYurt能够:
最大程度保证用户在管理边缘应用时获得和管理云端应用一致的体验;兼容所有云厂商的Kubernetes服务,易于集成;保持极低的运维成本。OpenYurt开源的核心能力包括:
边缘自治能力:YurtHub作为节点上的临时配置中心,在网络连接中断的情况下,持续为节点上所有设备和客户业务提供数据配置服务。YurtHub提供了对大量原生KubernetesAPI的支持,可以在节点和边缘单元维度提供“ShadowApiserver”的能力,在边缘计算弱网络链接场景的价值尤为突出;
边缘运维通道:在边缘场景,由于大多数边缘节点没有暴露在公网之上,中心管控无缝和边缘节点主动建立网络链接,所有的Kubernetes原生应用运维APIs(logs/exec/metrics)会失去效力;YurtTunnel通过在管控与边缘节点之间建立反向通道,并和节点的生命周期完整联动,承载原生运维APIs的流量;
集群转换能力:Yurtctl作为OpenYurt官方命令行工具,提供原生Kubernetes集群支持边缘计算infrastructure的一键式切换。
其它更高级的功能比如边缘流量管理、单元化管理,部署、区域自治等将会逐步开源。
OpenYurt的主要组件包括:YurtHub:一个节点守护程序,用作来自Kubernetes节点守护程序(Kubelet,Kubeproxy,CNI插件等)的出站流量的代理。它在边缘节点的本地存储中缓存Kubernetes节点守护程序可能访问的所有资源的状态。如果边缘节点处于脱机状态,则这些守护程序可以在节点重新启动时恢复状态。Yurt控制器管理器:针对不同的边缘计算用例,它管理一些控制器,例如节点控制器和单元控制器(即将发布)。例如,autonomy即使缺少节点心跳,也不会从APIServer退出处于该模式的节点中的Pod。Yurt隧道服务器:它TunnelAgent通过反向代理与在每个边缘节点中运行的守护程序连接,以在云站点控制平面和连接到Intranet(将要发布)的边缘节点之间建立安全的网络访问。
评论