OpenYurt
Extend a vanilla Kubernetes control plane to edge nodes with offline autonomy, keeping the upstream API intact.
- Category: Orchestration & Scheduling
- CNCF maturity: Incubating
- Language: Go
- License: Apache License 2.0
- Repository: openyurtio/openyurt
- Documented at commit:
f01cbf5(2026-06-22)
What it is
OpenYurt extends a standard Kubernetes cluster to manage edge nodes. The control plane stays in the cloud, runs unmodified upstream Kubernetes, and manages edge nodes that sit across unreliable or intermittent networks. Edge nodes are grouped by physical region into a unit OpenYurt calls a Pool (README.md:31-34).
The defining choice is non-intrusiveness. OpenYurt does not fork or rewrite the Kubernetes control plane. It adds a per-node reverse proxy (YurtHub), a set of controllers and webhooks (Yurt-Manager), and optional agents for cross-region networking and IoT device bridging. The project states it "preserves intact Kubernetes API compatibility" (README.md:24-25).
The practical payoff is edge autonomy. When an edge node loses its link to the cloud apiserver, YurtHub serves cached responses from local disk so that kubelet and kube-proxy keep working and workloads keep running.
When to use it
- You run a single Kubernetes control plane in the cloud and want to manage nodes in remote sites such as retail, factory, or telco edge over unreliable links.
- You need edge nodes to keep running workloads when the cloud connection drops.
- You want region-aware placement without rewriting the Kubernetes control plane.
- It is a weaker fit when all nodes share a reliable LAN with the control plane; the autonomy and pool machinery add little there.
- It is not a lightweight Kubernetes distribution. If you need a small single-binary cluster at the edge, a distro like k3s targets a different problem.
In this deep-dive
- History: origin, milestones, and why it exists.
- Architecture: components and how requests flow.
- Adoption & Ecosystem: who runs it and what surrounds it.
- Internals: the code paths that matter, read from source.
- Getting Started: install and a first working setup.