KubeEdge is a Kubernetes-native edge computing framework that extends container orchestration and device management capabilities from cloud infrastructure to edge nodes. As a graduation-level project hosted by the Cloud Native Computing Foundation, KubeEdge addresses the challenge of running containerized applications and managing IoT devices at the network edge while maintaining synchronization with cloud control planes.
The framework consists of two primary architectural components: a cloud part and an edge part. On the cloud side, CloudHub functions as a WebSocket server that watches for changes and caches messages for EdgeHub, while EdgeController manages edge nodes and pod metadata to target resources to specific edge nodes. DeviceController handles device management, synchronizing device metadata and status between edge and cloud. On the edge side, EdgeHub acts as a WebSocket client that syncs cloud resource updates to edge nodes and reports status changes back to the cloud. Edged serves as the containerized application agent on edge nodes, while EventBus provides MQTT client capabilities for publish-subscribe interactions with MQTT servers like Mosquitto. ServiceBus enables HTTP client functionality for reaching REST servers at the edge, DeviceTwin stores and syncs device status with query interfaces for applications, and MetaManager processes messages between Edged and EdgeHub while managing metadata storage in SQLite.
The project is written in Go and supports Kubernetes versions 1.27 through 1.32, with varying compatibility levels across different KubeEdge releases.
KubeEdge enables several key capabilities for edge computing scenarios. It provides Kubernetes-native APIs for managing edge applications and devices, ensuring reliable message delivery across unstable cloud-edge networks without data loss. The framework supports edge autonomy, allowing edge nodes to operate independently when cloud connectivity is unavailable or unstable. Edge devices are managed through Kubernetes-native APIs implemented via Custom Resource Definitions, while the EdgeCore agent is designed to be extremely lightweight for resource-constrained edge environments. The platform supports MQTT for edge device access and enables processing of machine learning, image recognition, and event processing applications at the edge, where data is produced. This edge-local processing increases responsiveness and protects data privacy by reducing the volume of data transmitted to the cloud.
The project has undergone formal security evaluation, with a third-party security audit completed in July 2022 and a comprehensive threat model and security protection analysis conducted by the community. The codebase maintains Apache 2.0 licensing and encourages community contributions through established processes. The project maintains regular technical steering committee meetings and community meetings with documented agendas and recordings available publicly.