在这个全民上云的时代,你可能很熟悉K8s,但是你是否有听过另外一个正在引领物联网边缘计算的框架?它就是我们今天介绍的主角:KubeEdge。
KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。KubeEdge使用Apache 2.0许可。并且绝对可以免费用于个人或商业用途。KubeEdge目标是创建一个开放平台,使能边缘计算,将容器化应用编排功能扩展到边缘的节点和设备,基于kubernetes构建,并为云和边缘之间的网络、应用部署和元数据同步提供基础架构支持。同时KubeEdge还支持MQTT,并允许开发人员编写自定义逻辑并在Edge上启用一定资源的设备进行通信。KubeEdge由云端和边缘端组成,目前边缘端和云端已开源。
(图片来源:kubeedge-架构)
另外,KubeEdge也是业界首个专为边云协作而设计的云原生边缘计算框架。KubeEdge是对Kubernetes在容器编排和调度方面的补充,允许应用程序、资源、数据和设备在边缘和云之间进行协作。现在,边缘计算实现了设备、边缘和云的全面连接。
在KubeEdge架构中,云是一个统一的控制平面,包括原生的Kubernetes管理组件和KubeEdge开发的CloudCore组件。它监听云资源变化并提供可靠、高效的云边缘消息传递。边缘侧是EdgeCore组件,包括Edged、MetaManager和EdgeHub。他们从云端接收消息并管理容器的生命周期。设备映射器和事件总线负责设备访问。
(图片来源:kubeedge边缘一体架构)
KubeEdge优势
KubeEdge的优势主要包括:
边缘计算:借助在Edge上运行的业务逻辑,可以让本地生成的数据,进行大量数据处理操作并对其进行保护。这样可以减少边缘和云之间的网络带宽需求和消耗,提高响应速度,降低成本并保护客户的数据隐私。
简化开发:开发人员可以编写基于HTTP或MQTT的常规应用程序,对其进行容器化,然后在Edge或Cloud中的任何一个更合适的位置运行应用程序。
Kubernetes原生支持:借助KubeEdge,用户可以像在传统的Kubernetes集群一样,在Edge节点上编排应用程序,管理设备并监视应用程序和设备状态。
丰富的应用:可以轻松地将现有的复杂机器学习,图像识别,事件处理等其他高级应用程序部署到Edge。
已通过软件供应链SLSA L3等级认证
KubeEdge社区已于2022年7月份完成整个KubeEdge项目的第三方安全审计,已发布云原生边缘计算安全威胁分析和防护白皮书,并根据安全威胁模型和安全审计的建议,对KubeEdge软件供应链进行持续安全加固。经过社区的不断努力,我们很兴奋地宣布,在2023年1月18日发布的v1.13.0版本中,KubeEdge项目已达到SLSA L3等级(包括二进制和容器镜像构件),成为CNCF社区首个达到SLSA L3等级的项目。
什么是SLSA?(Supply chain Levels for Software Artifacts软件构件的供应链级别)
Google提出的用于保证整个软件供应链完整性的框架SLSA,是一套基于行业共识的安全准则,也是一个安全框架、一份标准和控制清单,用于防止篡改、提高完整性以及保护项目、业务或企业中的软件包和基础设施。它不是一个单一的工具,而是一个逐步采用的大纲,以防止工件被篡改和被篡改的工件被使用,并在更高层次上强化构成供应链的平台。生产商遵循SLSA准则使他们的软件更加安全,用户则根据软件包的安全状况来做出决策。
截止目前,SLSA标准处于alpha阶段,相关的定义可能会发生变化。
下图描述了软件供应链中已知的攻击点。
强大的性能:支持10万边缘节点
KubeEdge的人口引起了社区对KubeEdge的可扩展性和规模的兴趣。目前,基于KubeEdge的Kubernetes集群经过充分测试,可以稳定支持10万个边缘节点并发,管理超过100万个pod。
(图片来源:kubeedge-集群部署框架)
应用场景
KubeEdge是用于将容器化应用程序编排功能扩展到边缘节点和设备的开源系统。以下是一些KubeEdge可能的应用场景:
智能城市:在城市管理中,KubeEdge可以为城市设施提供弹性扩展的能力,如智能交通、智能照明等。通过实时数据处理、AI分析和设备管理,KubeEdge能够实现智能化的城市管理。
自动驾驶:在自动驾驶场景中,KubeEdge可以提供设备管理和实时数据处理能力,为自动驾驶汽车提供强大的后台支持。通过KubeEdge,自动驾驶汽车可以获取和分析车辆及周围环境的数据,以实现更安全和高效的自动驾驶。
工业制造:在工业制造领域,KubeEdge可以帮助实现工厂设备的实时监控、数据采集和故障预测,提高生产效率并降低维护成本。通过将容器编排功能扩展到边缘设备,可以实现更快速的数据处理和分析,提高生产线的自动化程度和灵活性。
医疗保健:在医疗保健领域,KubeEdge可以用于实时监控患者的健康状况、处理医疗数据和提供远程医疗服务。通过将容器编排功能扩展到边缘设备,可以更快地处理和分析医疗数据,提供更准确的诊断和治疗建议。
智能家居:在智能家居领域,KubeEdge可以帮助实现家居设备的集中管理和智能控制。通过将容器编排功能扩展到智能家居设备,可以实现对家居设备的远程控制和自动化控制,提高居住体验和生活品质。
金融行业:在金融行业,KubeEdge可以用于实时监控金融交易和市场动态,提高金融交易的效率和准确性。通过将容器编排功能扩展到边缘设备,可以更快地处理和分析金融数据,提供更准确的投资建议和服务。
除此之外,KubeEdge的云和边缘之间的部署和元数据同步提供了基础架构支持,可以适用于各种网络应用程序。对于个人或商业用途,KubeEdge基于Apache 2.0许可,是绝对免费开源的。它也支持MQTT协议,允许开发人员编写客户逻辑,并在边缘端启用设备通信的资源约束。