Clusterless is a new design that allows for the seamless utilization of clusters of clusters to run workloads wherever needed, reducing the management burden of multi-cluster users.
- Multi-cluster support in Kubernetes is important for application efficiency, better resource utilization, and breaking geographic boundaries.
- Existing open source projects have addressed challenges in multi-cluster management but either introduce new APIs/workflows or have scalability limitations.
- Clusterless abstracts multiple clusters as Pod resource providers, connecting to a management cluster exposed to users, without introducing new APIs and preserving consistent user experiences.
- Pod dispatching is done by a highly efficient two-level scheduling algorithm achieving O(n) scheduling throughput, where n is the number of managed clusters.
- Clusterless is great for running more of what you already have in a single cluster, but not for redundancy or availability of workloads or heterogeneous hardware.