Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
Why Virtual Kubernetes Clusters?
- Cluster Scoped Resources: much more powerful than simple namespaces (virtual clusters allow users to use CRDs, namespaces, cluster roles etc.) - Ease of Use: usable in any Kubernetes cluster and created in seconds either via a single command or cluster-api - Cost Efficient: much cheaper and efficient than real clusters (single pod and shared resources just like for namespaces) - Lightweight: built upon the ultra-fast k3s distribution with minimal overhead per virtual cluster (other distributions work as well) - Strict isolation: complete separate Kubernetes control plane and access point for each vcluster while still being able to share certain services of the underlying host cluster - Cluster Wide Permissions: allow users to install apps which require cluster-wide permissions while being limited to actually just one namespace within the host cluster - Great for Testing: allow you to test different Kubernetes versions inside a single host cluster which may have a different version than the virtual clusters