KubeEdge, a Cloud Native Computing Foundation (CNCF) sandbox project, is designed to extend Kubernetes from cloud to edge. It provides fundamental infrastructure support for enabling the deployment and orchestration of cloud native services on edge nodes, and metadata synchronization with the cloud.

KubeEdge aims to meet the following three major challenges in Edge Computing:

  • Network reliability between cloud and edge.
  • Resource constraint on edge nodes.
  • Highly distributed and scalability challenges of edge architecture.

KubeEdge has a control plane on the cloud side and worker nodes on the edge side. Native container applications can be orchestrated from cloud to edge. Cloud and edge nodes are loosely coupled, so in case of network connection failure between the cloud and the edge, the agent at edge can autonomously manage services and IoT devices at the edge. Once the network connection between the cloud and the edge is resumed, the metadata can be re-synchronized to ensure persistence. KubeEdge 1.2 included additional network enhancements to ensure more reliable messaging and data transmission between cloud and edge.

The Same Kubernetes User Experience at Both Cloud and Edge

KubeEdge was built based on Kubernetes and follows the same open and extensible architecture:

  • Modularized computing platform at edge. Beehive is used as the messaging framework, based on go-channels for communication between modules of KubeEdge. EdgeMesh provides ServiceMesh at edge, enabling services running on different pods, nodes and locations.
  • KubeEdge has integrated with Kubernetes CRI, CSI, CNI interfaces connecting to runtime, storage, and network resources. In addition, KubeEdge is open to integrate with other CNCF projects — such as Envoy, Prometheus and etcd.
  • KubeEdge 1.3, recently released in May 2020, added more features to improve the pod logging, monitoring, management, and the maintainability of edge nodes from cloud.
  • One of the key challenges that KubeEdge addresses is to manage edge nodes that are geographically dispersed. KubeEdge enables “centralized management” of remote edge nodes and the applications running on them. This is a major remote management capability.
  • Moving forward, the KubeEdge project team will include new features such as edge-to-edge communication and data analytics framework on the edge.

#cloud native #edge / iot #kubernetes #iot

KubeEdge and Its Role in Multi-Access Edge Computing
3.70 GEEK