Description
some notes
kcp at its core is a scalable multi-tenant generic control plane to enable
(a) users to consume (kube-like) API services super easily and
(b) service providers to write these multi-tenant API services magnitudes faster than in the past.
kcp – making building massively multi-tenant services magnitudes easier. Together.
A horizontally scalable generic control plane based on Kube focusing on:
- A large number of independent, fully-isolated clusters known as workspaces
- Enabling API service providers to offer APIs centrally
- Easy API consumption for users in their workspaces in a SaaS fashion.
kcp helps SaaS service providers who need a platform to offer services to a large number of tenants
kcp takes full advantage of Kube-style APIs, the glue that binds the ecosystem together, and imbues Kube’s popular end-user experience, but kcp has unbound it from Kube workload orchestration and clusters.
Massive Multi-Tenancy
kcp implements fully-isolated workspaces, each acting as its own Kubernetes-like cluster, with its own URL, its own set of APIs (e.g. different CRDs), its own RBAC, but as cheap and quick as a namespace.
kcp extends Kube’s CRD extension model to an API export mechanism optimized for SaaS service providers offering APIs to thousands or many tens of thousands of user workspaces. Securely and efficiently.
kcp doesn’t replace Kube, but complements it:
(a) as control plane to inter-connect Kubernetes clusters and
(b) we are working on consuming kcp provided massively multi-tenant APIs as SaaS from Kubernetes clusters, without operators, natively.
kcp schedules workspaces to shared apiservers (the shards), similarly to pods scheduled to nodes and containers on a node sharing a Linux kernel. Our scale target: 1 million workspaces and 10,000 shards.
kcp intentionally only knows generic APIs, no pods or related resources. Transparent-multi-cluster is a kcp sub-project to re-add many of Kube’s workload APIs, but reshaped to offer shared compute capacity making users forget about clusters.