云原生边缘计算之KubeEdge

KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。

完全开放 - Edge Core和Cloud Core都是开源的。 离线模式 - 即使与云断开连接,Edge也可以运行。
基于Kubernetes - 节点,群集,应用程序和设备管理。 可扩展 - 容器化,微服务 资源优化 -
可以在资源不足的情况下运行。边缘云上资源的优化利用。 跨平台 - 无感知;可以在私有,公共和混合云中工作。 数据与分析 -
支持数据管理,数据分析管道引擎。

云原生边缘计算之KubeEdge_第1张图片

生成证书

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_第2张图片

如上所述,可以轻松部署KubeEdge Edge和Cloud核心组件,并可以运行用户应用程序。边缘核心有66MB的脚印,只需要30MB的内存就可以运行。同样,云核可以在任何云节点上运行。(用户也可以通过在笔记本电脑上运行它来体验)

你可能感兴趣的:(kubernetes,容器,云原生)