Vcluster allows users to create fully functional virtual Kubernetes clusters that each run inside a namespace of the underlying Kubernetes cluster. Virtual clusters have their own API server, making them both more powerful and better isolated.
Additionally, Vcluster offers a more cost effective alternative to creating separate “real” Kubernetes clusters.
After getting started with Vcluster, a kube-context will be automatically created on the user’s local machine so that they can use kubectl with their virtual cluster.
There are also no admin privileges required with Vcluster. According to the project maintainers, as long as the user is able to create a deployment inside a single namespace, they will be able to create a virtual cluster and become the admin of that cluster.
Vcluster support several use cases, such as:
- Secure multi-tenancy: Vcluster provides proper isolation whether the user is isolating CI/CD or dev environments for developers or if they need to host isolated instances of a managed project
- Cluster scaling: This allows users to overcome the scalability limits of k8s by splitting up clusters into vclusters
- Cluster simulations: With this, users can simulate a new ingress controller or a Kubernetes alpha flag without it impacting their cluster operations
Vcluster is also highly configurable and enables users to expose all Kubernetes control plane options as well as run different Kubernetes versions in their clusters or enable alpha or beta flags.
To learn more and get started using Vcluster, see here.