作者:夜-依晨_920 | 来源:互联网 | 2023-12-14 16:49
本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。
KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。
完全开放 - Edge Core和Cloud Core都是开源的。 离线模式 - 即使与云断开连接,Edge也可以运行。
基于Kubernetes - 节点,群集,应用程序和设备管理。 可扩展 - 容器化,微服务 资源优化 -
可以在资源不足的情况下运行。边缘云上资源的优化利用。 跨平台 - 无感知;可以在私有,公共和混合云中工作。 数据与分析 -
支持数据管理,数据分析管道引擎。
生成证书
KubeEdge 需要 RootCA 证书和一个证书/密钥对。cloud 和 edge 端都可以使用相同的证书/密钥对
$GOPATH/src/github.com/kubeedge/kubeedge/build/tools/certgen.shgenCertAndKey edge
tke 部署k8s
kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
删了tke自带的flannel网络,重新部署flannel。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
算法非常小巧,引入一个dirty 的set,用于快速判断是否已经在处理队列中; 引入一个processing 的set 用于保存正在处理的item:
type ResourceEventHandlerFuncs struct {AddFunc func(obj interface{})UpdateFunc func(oldObj, newObj interface{})DeleteFunc func(obj interface{})
}
总的来说,Kubernetes 给边缘计算提供了先进的运维思路,但单纯的原生 Kubernetes 并不能满足边缘侧业务的所有需求。而集成了 Kubernetes 云原生管理能力的 KubeEdge,同时对边缘业务部署和管理提供了很好的支持, 因此被广泛应用于基础设施数字化需求的边云协同与数据采集场景。
KubeEdge是完全开源的,可以在开源技术上运行。
优势
边缘计算 - 通过在Edge上运行的业务逻辑,可以在生成数据的本地保护和处理大量数据。这减少了网络带宽需求以及边缘和云之间的消耗。这样可以提高响应速度,降低成本并保护客户的数据隐私。
简化开发 - 开发人员可以编写基于常规http或mqtt的应用程序,对其进行容器化,然后在Edge或Cloud中的任何位置运行它们中的更合适的一个。
Kubernetes原生支持 - 借助KubeEdge,用户可以在Edge节点上编排应用,管理设备并监视应用和设备状态,就像云中的传统Kubernetes集群一样
大量的应用 - 可以轻松地将现有的复杂机器学习,图像识别,事件处理和其他高级应用程序部署和部署到Edge。
可扩展性
KubeEdge提供了一个容器化的边缘计算平台,具有固有的可扩展性。由于它是模块化和优化的,因此它重量轻(66MB足迹和~30MB运行内存),可以部署在资源不多的设备上。类似地,边缘节点可以具有不同的硬件架构并且具有不同的硬件配置。对于设备连接,它可以支持多种协议,并使用基于标准MQTT的通信。这有助于有效地使用新节点和设备扩展边缘集群。
如上所述,可以轻松部署KubeEdge Edge和Cloud核心组件,并可以运行用户应用程序。边缘核心有66MB的脚印,只需要30MB的内存就可以运行。同样,云核可以在任何云节点上运行。(用户也可以通过在笔记本电脑上运行它来体验)