Skip to content

Clusternet

Clusternet is a Kubernetes addon that manages many child clusters from a single parent cluster, letting you reach and deploy to them as if you were browsing the internet.

  • Category: Orchestration & Scheduling
  • CNCF maturity: Sandbox
  • Language: Go
  • License: Apache-2.0
  • Repository: clusternet/clusternet
  • Documented at commit: e8b5a0c (2026-05-10, main ahead of tag v0.18.1)

What it is

Clusternet is a multi-cluster management addon. You run its control plane in one Kubernetes cluster (the parent), register any number of other clusters (children) into it, and from then on you schedule applications across all of them and reach each one with ordinary kubectl. The name is short for "Cluster Internet": the goal is to treat a fleet of clusters the way you treat the internet, reachable from one place regardless of where each cluster sits.

Two design choices set it apart. A shadow API in the parent lets you submit a plain kubectl apply -f deployment.yaml and have Clusternet turn it into multi-cluster distribution material, so you do not have to learn new resource types to start. A reverse WebSocket tunnel lets the parent run kubectl against a child that lives behind NAT (Network Address Translation) or a firewall, because the child dials out to the parent and the parent re-dials requests back through that tunnel.

It is a lightweight addon, not a distribution or a hosted control plane. The parent cluster runs four components: an aggregated API server, a scheduler, a controller manager, and an agent on each child. CRDs (Custom Resource Definitions) such as Subscription, Base, and Description model the distribution pipeline.

When to use it

  • You operate several Kubernetes clusters and want one place to deploy the same workload to many of them, either as a full copy per cluster or split by capacity.
  • Some clusters sit behind NAT or a firewall and you still want kubectl and client-go access to them from a central cluster.
  • You want to keep using existing manifests, Helm charts, and kubectl rather than adopting a new application model.
  • It is a weaker fit when you only have one cluster, or when a single-vendor managed fleet already gives you cross-cluster deploys and you do not need the proxy or shadow API.

In this deep-dive

Sources

  1. clusternet/clusternet (README, core features, contributors).
  2. Clusternet official site.
  3. Introduction: four-component architecture.
  4. CNCF Projects: Clusternet (Sandbox, accepted 2023-03-07).
  5. cncf/sandbox submission issue #10.
  6. GitHub REST API: clusternet/clusternet.
  7. GitHub Releases.
  8. GitHub Contributors.
  9. LICENSE (Apache-2.0).
  10. MAINTAINERS.md.
  11. Palark: CNCF Sandbox projects 2023 H1.
  12. rancher/remotedialer.