Clusternet is a CNCF Sandbox add-on, licensed Apache-2.0 and written in Go, that lets platform teams manage and visit Kubernetes clusters running on public cloud, private cloud, hybrid cloud or the edge as though those clusters were running locally.
What it is
Clusternet, short for Cluster Internet, is an open-source add-on for Kubernetes that treats a fleet of clusters as a single manageable surface. It sets up network tunnels in a configurable way, then exposes a Kubernetes-styled API so an operator can reach a managed cluster or a Kubernetes service with an ordinary KubeConfig. The project lives squarely in the cloud-native ecosystem and is listed as a CNCF Sandbox project. It supports clusters on AWS, Google Cloud, Tencent Cloud and Alibaba Cloud, on-premise clusters, any Certified Kubernetes Distribution such as k3s, and clusters running at the edge, across linux/amd64, linux/arm64, linux/ppc64le, linux/s390x, linux/386 and linux/arm.
The concrete problem it solves is tool sprawl. Teams running workloads in several places tend to accumulate a separate management tool per cluster or per provider, and Clusternet removes that need by making every cluster reachable through one interface. Beyond access, it deploys and coordinates applications to multiple clusters from a single set of APIs hosted in a hosting cluster, so the same control point that opens a tunnel also drives scheduling and rollout.
Key capabilities
- Multi-cluster management and governance for clouds, on-premise and edge, covering Kubernetes above v1.17.x with documented version skew handling.
- Automatic discovery and registration of clusters created by cluster-api.
- Visiting managed clusters under dynamic RBAC rules, rather than a fixed set of credentials.
- Cluster auto-labelling driven by Node Feature Discovery.
- A scheduling framework with
in-tree and out-of-tree plugins, offering replication scheduling, static dividing scheduling by weight, dynamic dividing scheduling by capacity, and subgroup cluster scheduling.
- A cluster resource predictor framework with
in-tree and out-of-tree implementations and several deployment topologies.
- Resource handling for Kubernetes native objects such as
Deployment and StatefulSet, for CRDs, and for Helm charts including OCI-based Helm charts, with resource interpretations handled by in-tree or out-of-tree controllers.
Who uses it and how
- Platform teams running fleets across several public clouds, who need one scheduling and deployment path instead of per-provider tooling.
- Edge operators, where clusters sit in locations that a central team cannot reach directly and tunnels do the work.
- Teams already provisioning with cluster-api, whose new clusters register themselves into Clusternet automatically.
- Hosting-cluster operators who register the parent cluster as a child of itself so that its own workloads are scheduled through the same mechanism as every other cluster.
- Teams standardising on k3s or another Certified Kubernetes Distribution, who want a uniform management layer above heterogeneous distributions.
Getting started
The README excerpt supplied here contains no quickstart, install command, image name or manifest path, so its install route cannot be quoted from these facts. The project points readers to clusternet.io, and the Go module is published at github.com/clusternet/clusternet.
How it compares
No list of paid products that Clusternet replaces is provided in the facts, and no directly comparable alternative tool is named either. The only related projects named are ones Clusternet manages or integrates with, such as k3s and cluster-api, so it stands alone in this registry.
When to use it — and when not to
A self-hoster must run and operate a hosting cluster with its control-plane components, and must keep every managed cluster within the supported Kubernetes version range above v1.17.x. It is not the right pick for a single-cluster deployment, where the added control plane buys nothing, and not for teams unwilling to run their own management plane. The README excerpt available here is thin on installation detail, and the repository carries 72 open issues.
project readme (upstream, from github) — read inline


Managing Your Clusters (including public, private, hybrid, edge, etc.) as easily as Visiting the Internet.
Out of the Box.
A CNCF(Cloud Native Computing Foundation) Sandbox Project.

Clusternet (Cluster Internet) is an open source add-on that helps you manage thousands of millions of
Kubernetes clusters as easily as visiting the Internet. No matter the clusters are running on public cloud, private
cloud, hybrid cloud, or at the edge, Clusternet helps setup network tunnels in a configurable way and lets you
manage/visit them all as if they were running locally. This also helps eliminate the need to juggle different management
tools for each cluster.
Clusternet can also help deploy and coordinate applications to multiple clusters from a single set of APIs in a
hosting cluster.
Clusternet also provides a Kubernetes-styled API, where you can continue using the Kubernetes way, such as KubeConfig,
to visit a certain managed Kubernetes cluster, or a Kubernetes service.
Clusternet is multiple platforms supported now, including linux/amd64, linux/arm64, linux/ppc64le, linux/s390x
, linux/386 , and linux/arm;
Core Features
- Kubernetes Multi-Cluster Management and Governance
- managing Kubernetes clusters running in cloud providers, such as AWS, Google Cloud, Tencent Cloud, Alibaba Cloud,
etc.
- managing on-premise Kubernetes clusters
- managing any Certified Kubernetes Distributions, such
as k3s
- managing Kubernetes clusters running at the edge
- automatically discovering and registering clusters created by cluster-api
- parent cluster can also register itself as a child cluster to run workloads
- managing Kubernetes above v1.17.x (Learn more
about Kubernetes Version Skew)
- visiting any managed clusters with dynamic RBAC rules (Learn more
from this tutorial)
- cluster auto-labelling based on Node Feature Discovery
- Application Coordinations
- Scheduling Framework (
in-tree plugins, out-of-tree plugins)
- Cross-Cluster Scheduling
- replication scheduling
- static dividing scheduling by weight
- dynamic dividing scheduling by capacity
- cluster resource predictor framework for
in-tree and out-of-tree implementations
- various deployment topologies for cluster resource predictors
- subgroup cluster scheduling
- Various Resource Types
- Kubernetes native objects, such as
Deployment, StatefulSet, etc.
- CRDs
- helm charts, including OCI-based Helm charts
- Resource interpretations with
in-tree or out-of-tree controllers
- Setting Overrides
- two-stage priority based override strategies
- enables easy rollback of overrides
- cross-cluster canary rollout
- Multi-Cluster Services
- multi-cluster services discovery with mcs-api
- CLI
- providing a kubectl plugin, which can be installed with
kubectl krew install clusternet
- consistent user experience with
kubectl
- create/update/watch/delete multi-cluster resources
- interacting with any child clusters the same as local cluster
- Client-go
Architecture

Clusternet is a lightweight addon that consists of four components, clusternet-agent, clusternet-scheduler,
clusternet-controller-manager and clusternet-hub.
Explore the architecture of Clusternet on clusternet.io.
To start using Clusternet
| | Kubernetes >=v1.30 | >=v1.28,
Contact
If you've got any questions, please feel free to contact us with following ways:
Contributing & Developing
If you want to get participated and become a contributor to Clusternet, please don't hesitate to refer to our
CONTRIBUTING document for details.
A developer guide is ready to help you
- build binaries for all platforms, such as
darwin/amd64, linux/amd64, linux/arm64, etc.;
- build docker images for multiple platforms, such as
linux/amd64, linux/arm64, etc.;

License
