vcluster
vCluster - 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.
Top Related Projects
Home for Cluster API, a subproject of sig-cluster-lifecycle
Little helper to run CNCF's k3s in Docker
Run Kubernetes locally
Lightweight Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes
Backup and migrate Kubernetes applications and their persistent volumes
Quick Overview
vcluster is an open-source project that creates virtual Kubernetes clusters within a host Kubernetes cluster. It allows users to create lightweight, isolated environments for development, testing, and multi-tenancy scenarios without the overhead of spinning up separate physical clusters.
Pros
- Efficient resource utilization by running multiple virtual clusters on a single host cluster
- Improved isolation and security between different teams or projects
- Easy to set up and manage compared to full-fledged Kubernetes clusters
- Supports most standard Kubernetes tools and workflows
Cons
- Some limitations in terms of supported Kubernetes features compared to full clusters
- Potential performance overhead due to the virtualization layer
- Requires careful planning for resource allocation to avoid overloading the host cluster
- Learning curve for understanding the concept and management of virtual clusters
Getting Started
To get started with vcluster, follow these steps:
- Install the vcluster CLI:
curl -L -o vcluster "https://github.com/loft-sh/vcluster/releases/latest/download/vcluster-$(uname -s)-$(uname -m)" && chmod +x vcluster && sudo mv vcluster /usr/local/bin
- Create a virtual cluster:
vcluster create my-vcluster
- Connect to the virtual cluster:
vcluster connect my-vcluster
- Use kubectl to interact with the virtual cluster:
kubectl get pods
- Delete the virtual cluster when done:
vcluster delete my-vcluster
For more advanced usage and configuration options, refer to the official vcluster documentation.
Competitor Comparisons
Home for Cluster API, a subproject of sig-cluster-lifecycle
Pros of Cluster API
- Provides a standardized, declarative approach to cluster lifecycle management across various infrastructure providers
- Offers more extensive support for managing multiple clusters and complex multi-cloud deployments
- Has strong community support and is part of the official Kubernetes SIG ecosystem
Cons of Cluster API
- Requires more setup and configuration compared to vcluster's lightweight approach
- Has a steeper learning curve, especially for users new to Kubernetes cluster management
- May be overkill for simple use cases or local development environments
Code Comparison
vcluster:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-vcluster-config
data:
config.yaml: |
sync:
nodes: false
Cluster API:
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: my-cluster
spec:
clusterNetwork:
pods:
cidrBlocks: ["192.168.0.0/16"]
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: AWSCluster
name: my-cluster
The code examples demonstrate the difference in complexity and scope between the two projects. vcluster focuses on lightweight virtual clusters within an existing Kubernetes cluster, while Cluster API provides a more comprehensive approach to managing full-fledged Kubernetes clusters across various infrastructure providers.
Little helper to run CNCF's k3s in Docker
Pros of k3d
- Lightweight and fast setup for local Kubernetes development
- Supports multi-node clusters, simulating more realistic environments
- Integrates well with existing Docker infrastructure
Cons of k3d
- Limited to local development environments
- Doesn't provide true multi-tenancy or isolation between virtual clusters
- May not fully replicate production Kubernetes environments
Code Comparison
k3d:
k3d cluster create mycluster --servers 3 --agents 2
vcluster:
vcluster create mycluster
kubectl config use-context vcluster_mycluster
Key Differences
- k3d creates lightweight Kubernetes clusters using k3s in Docker containers, ideal for local development and testing.
- vcluster creates virtual clusters within existing Kubernetes clusters, providing better isolation and multi-tenancy.
- k3d is more focused on local development, while vcluster can be used in both local and production environments.
- vcluster offers better resource isolation and namespace separation between virtual clusters.
- k3d provides an easier setup for multi-node clusters, which can be beneficial for testing distributed applications.
Both tools serve different purposes and can be complementary in a Kubernetes development workflow, with k3d excelling in local development and vcluster offering more flexibility for multi-tenancy and production-like environments.
Run Kubernetes locally
Pros of Minikube
- Simulates a full Kubernetes cluster on a local machine, providing a more realistic environment
- Supports multiple hypervisors and operating systems, offering greater flexibility
- Includes built-in addons for enhanced functionality and easier management
Cons of Minikube
- Requires more system resources due to running a full VM
- Setup and teardown can be slower compared to lightweight alternatives
- Limited scalability for testing larger deployments or multi-node scenarios
Code Comparison
Minikube:
minikube start
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-minikube --type=NodePort --port=8080
minikube service hello-minikube
vcluster:
vcluster create my-vcluster
vcluster connect my-vcluster
kubectl create deployment hello-vcluster --image=k8s.gcr.io/echoserver:1.10
kubectl expose deployment hello-vcluster --type=ClusterIP --port=8080
kubectl port-forward service/hello-vcluster 8080:8080
The code comparison shows that both tools allow for creating and interacting with Kubernetes deployments, but vcluster operates within an existing cluster, while Minikube creates a standalone environment. Minikube's approach is more straightforward for local development, while vcluster offers more flexibility for working within existing infrastructure.
Lightweight Kubernetes
Pros of k3s
- Lightweight and resource-efficient, suitable for edge computing and IoT devices
- Includes built-in storage and load balancing solutions
- Easier to set up and manage for standalone Kubernetes clusters
Cons of k3s
- Limited flexibility in terms of customization compared to vcluster
- May not be ideal for creating multiple virtual clusters within a single host cluster
- Less suitable for development and testing environments that require isolation
Code Comparison
k3s installation:
curl -sfL https://get.k3s.io | sh -
vcluster creation:
vcluster create my-vcluster
Key Differences
- k3s is a lightweight Kubernetes distribution, while vcluster creates virtual clusters within existing Kubernetes clusters
- k3s is better suited for production environments, especially in resource-constrained scenarios
- vcluster excels in creating isolated development and testing environments within a shared cluster
Use Cases
- k3s: Edge computing, IoT devices, small-scale production deployments
- vcluster: Development environments, testing, multi-tenancy scenarios in shared clusters
Community and Ecosystem
- k3s has a larger community and ecosystem, being part of the CNCF landscape
- vcluster is gaining traction for its unique approach to virtual Kubernetes clusters
Kubernetes IN Docker - local clusters for testing Kubernetes
Pros of kind
- Creates a full, isolated Kubernetes cluster, ideal for testing and development
- Supports multi-node clusters, allowing for more realistic testing scenarios
- Integrates well with CI/CD pipelines and automated testing frameworks
Cons of kind
- Requires more system resources due to running full nodes
- Slower to start up compared to lightweight alternatives
- Limited flexibility in customizing the underlying host environment
Code Comparison
kind:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
vcluster:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-vcluster-config
data:
values.yaml: |
sync:
nodes:
enabled: true
Key Differences
vcluster creates virtual clusters within an existing Kubernetes cluster, while kind creates standalone clusters using Docker containers. vcluster is more lightweight and faster to start, but kind provides a more isolated and complete cluster environment. vcluster allows for easier integration with existing cluster resources, while kind offers better isolation for testing purposes.
Both tools serve different use cases and can be valuable in different scenarios. kind is better suited for full cluster testing and CI/CD pipelines, while vcluster excels in multi-tenancy scenarios and rapid development environments within existing clusters.
Backup and migrate Kubernetes applications and their persistent volumes
Error generating comparison
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Tenant Clusters for Production Kubernetes and AI Infrastructure
Virtual control planes, real isolation â from a single node to 100K-GPU superclusters.
Website ⢠Quickstart ⢠Documentation ⢠Blog ⢠Slack
CNCF Certified Kubernetes â Distribution · Kubernetes AI Conformant (v1.35)
What is vCluster?
vCluster creates Tenant Clusters â fully isolated Kubernetes environments that run on top of a Control Plane Cluster, on dedicated infrastructure, or standalone on bare metal. Each tenant gets its own API server, CRDs, and RBAC, with a cluster experience indistinguishable from a dedicated Kubernetes cluster.
Built for production. Trusted in production. 40M+ Tenant Clusters deployed by teams at Adobe, CoreWeave, NVIDIA, Lintasarta, Atlan, Deloitte, and hundreds of AI clouds, AI factories, and Fortune 500 platform organizations.
CNCF Certified Kubernetes â Distribution and Kubernetes AI Conformant (v1.35) â every Tenant Cluster is upstream Kubernetes with no vendor lockâin, validated for portable AI/ML workloads (training, inference, agentic).
The public-cloud experience, on your own infrastructure. Give every team the Kubernetes they need â with strict isolation, hardware-aware scheduling, and zero tenant sprawl â whether you run one region or 100K GPUs.

ð Quick Start
# Install vCluster CLI
brew install loft-sh/tap/vcluster
# Create a Tenant Cluster
vcluster create my-vcluster --namespace team-x
# Use kubectl as usual â you're now in your Tenant Cluster
kubectl get namespaces
Prerequisites: A running Kubernetes cluster and kubectl configured. Or go straight to bare metal with vCluster Standalone.
ð³ Run Locally with Docker â vind
No Kubernetes cluster? Run vCluster directly on Docker with vind (vCluster in Docker) â like kind, but with the full vCluster feature set (UI, sleep/resume, LoadBalancer, image cache):
vcluster create my-vcluster --driver docker
kubectl get namespaces
ð® Try in the Browser
ð vCluster Free Tier
Real usage, not a gated demo. Unlimited Tenant Clusters up to 64 CPUs / 32 GPUs, Private Nodes, Auto Nodes, Standalone, and the Platform UI â for free. Get Started Free â
ð What's New
| Version | Feature | Description |
|---|---|---|
| v0.33 | Enterprise Reliability & Storage | Automatic leaf-cert regeneration, Azure Blob snapshot destinations, workload-level sleep annotations |
| v0.32 | Docker Driver & DRA | Run vCluster on Docker, Dynamic Resource Allocation (DRA) for GPU workloads, in-place pod resizing |
| v0.31 | Snapshots & Cross-Cluster APIs | Expanded snapshot/restore lifecycle, PDBs for Tenant Cluster control planes, cross-cluster resource proxying |
| v0.30 | vCluster VPN & Netris Integration | Tailscale-powered overlay networking and automated hardware isolation via Netris |
| v0.27âv0.29 | Architecture Foundations | Private Nodes (v0.27, CNI/CSI isolation), Auto Nodes (v0.28, Karpenter autoscaling), Standalone Mode (v0.29, bare metal / no Control Plane Cluster) |
ð Full Changelog
ð¯ Use Cases
| Use Case | Description | Learn More |
|---|---|---|
| AI Factory | Run AI on-prem where your data and GPUs live. Give every team the GPU access they need without multiplying infrastructure. | View â |
| AI Cloud Providers | Launch a hyperscaler-like Kubernetes experience for your GPU customers. Isolated, production-grade, in minutes. | View â |
| Internal GPU Platform | Maximize GPU utilization without sacrificing isolation. Self-service Kubernetes for AI/ML teams. | View â |
| Bare Metal Kubernetes | Run production Kubernetes on bare metal with zero VMs. Isolation without expensive virtualization overhead. | View â |
| Software Vendors | Ship Kubernetes-native products. Each customer gets their own isolated Tenant Cluster. | View â |
| Environments & Cost Savings | Consolidate clusters, pause idle workloads with sleep mode, and cut Kubernetes cost at scale. | View â |
ðï¸ Architectures
vCluster supports multiple deployment architectures. Each builds on the previous, offering progressively stronger isolation â from dense shared infrastructure to fully standalone bare metal.
Architecture Comparison
| Shared Nodes | Dedicated Nodes | Private Nodes | Standalone | |
|---|---|---|---|---|
| Control Plane Cluster | Required | Required | Required | Not Required |
| Node Isolation | â | â | â | â |
| CNI/CSI Isolation | â | â | â | â |
| Bare Metal Ready | â | â | â | â |
| Best For | Dev/test, density | Production tenants | Compliance, GPU | AI factories, edge |
Minimal Configuration
ð¹ Shared Nodes â Maximum density, minimum cost
Tenant Clusters share the Control Plane Cluster's nodes. Workloads run as regular pods in a namespace.
sync:
fromHost:
nodes:
enabled: false # Uses pseudo nodes
ð¹ Dedicated Nodes â Isolated compute on labeled node pools
Tenant Clusters get their own set of labeled nodes on the Control Plane Cluster. Workloads are isolated but still managed by the Control Plane Cluster.
sync:
fromHost:
nodes:
enabled: true
selector:
labels:
tenant: my-tenant
ð¹ Private Nodes v0.27+ â Full CNI/CSI isolation
External nodes join the Tenant Cluster directly with their own CNI, CSI, and networking stack. Complete workload isolation from the Control Plane Cluster.
privateNodes:
enabled: true
controlPlane:
service:
spec:
type: NodePort
ð¹ vCluster Standalone v0.29+ â No Control Plane Cluster required
Run vCluster without any Control Plane Cluster. Deploy the Virtual Control Plane directly on bare metal or VMs. The highest level of isolation â vCluster becomes the cluster.
controlPlane:
standalone:
enabled: true
joinNode:
enabled: true
privateNodes:
enabled: true
â¡ Auto Nodes v0.28+ â Karpenter-powered dynamic autoscaling
Automatically provision and deprovision private nodes based on workload demand. Works across public cloud, private cloud, hybrid, and bare metal environments.
autoNodes:
enabled: true
nodeProvider: <provider>
privateNodes:
enabled: true
⨠Key Features
| Feature | Description |
|---|---|
| ðï¸ Isolated Virtual Control Plane | Each Tenant Cluster gets its own API server, controller manager, and data store â complete Kubernetes API isolation |
| ð Shared Platform Stack | Leverage the Control Plane Cluster's CNI, CSI, ingress, and other infrastructure â no duplicate platform components |
| ð Strong Tenant Isolation | Tenants get admin access inside their Tenant Cluster while having minimal permissions on the Control Plane Cluster |
| ð Resource Syncing | Bidirectional sync of any Kubernetes resource â pods, services, secrets, configmaps, CRDs, and more |
| ð¤ Sleep Mode | Pause inactive Tenant Clusters to save resources. Instant wake when needed |
| ð¥ï¸ Bare Metal & Standalone | Run with or without a Control Plane Cluster. Purpose-built for AI factories and on-prem GPU fleets |
| ð§© Integrations | Native support for cert-manager, external-secrets, KubeVirt, Istio, and metrics-server |
| ð High Availability | Multiple replicas with leader election. Embedded etcd or external databases (PostgreSQL, MySQL, RDS) |
ð The vCluster Platform
vCluster is the foundation of a broader platform for running production Kubernetes and AI infrastructure on your own hardware â from a single rack to 100K-GPU supercomputers.
| Product | What it does |
|---|---|
| vCluster | Tenant Clusters â Virtual Control Planes with API, data, and (optionally) network isolation |
| vNode | Runtime-level tenant isolation. Kernel-enforced boundaries (seccomp, cgroups, namespaces, AppArmor) without VM overhead |
| vMetal | Zero-touch bare metal provisioning for GPU fleets. Turns GPU racks into a cloud platform |
| Netris (integration) | Hardware-enforced network isolation via programmatic VLANs, VRFs, and ACLs |
Together these deliver the four layers of an AI factory: Certified Stacks â Tenant Isolation â Tenant Clusters â GPU Infrastructure Operations â the same pattern used to run production AI on hundreds of GPU clouds and Fortune 500 on-prem platforms.
ð¢ Trusted By
| Atlan 100 â 1 clusters |
Aussie Broadband 99% faster provisioning |
CoreWeave GPU cloud at scale |
| Lintasarta 170+ Tenant Clusters in prod |
Fortune 500 Insurance 70% reduction in Kubernetes cost |
Scanmetrix 99% faster deployments |
| Deloitte Enterprise K8s platform |
Ada 10x Developer Productivity |
Trade Connectors 50% reduction in K8s ops cost |
Also used by: NVIDIA, ABBYY, Precisely, Shipwire, and many more â with 50+ GPU clouds and Fortune 500s running vCluster in production.
ð Learn More
ð¤ Conference Talks
| Event | Speaker | Title | Link |
|---|---|---|---|
| KubeCon NA 2025 (Keynote) | Lukas Gentele | Autoscaling GPU Clusters Anywhere â Hyperscalers, Neoclouds & Baremetal | Watch |
| Platform Engineering Day NA 2025 (Keynote) | Saiyam Pathak | AI-Ready Platforms: Scaling Teams Without Scaling Costs | Watch |
| Rejekts NA 2025 | Hrittik Roy, Saiyam Pathak | Beyond the Default Scheduler: Navigating GPU MultiTenancy in AI Era | Watch |
| KubeCon EU 2025 | Paco Xu, Saiyam Pathak | A Huge Cluster or Multi-Clusters? Identifying the Bottleneck | Watch |
| HashiConf 2025 | Scott McAllister | GPU sharing done right: Secrets, security, and scaling with Vault and vCluster | Watch |
| FOSDEM 2025 | Hrittik Roy, Saiyam Pathak | Accelerating CI Pipelines: Rapid Kubernetes Testing with vCluster | Watch |
| KubeCon India 2024 (Keynote) | Saiyam Pathak | From Outage To Observability: Lessons From a Kubernetes Meltdown | Watch |
| CNCF Book Club 2024 | Marc Boorshtein | Kubernetes - An Enterprise Guide (vCluster) | Watch |
| KCD NYC 2024 | Lukas Gentele | Tenant Autonomy & Isolation In Multi-Tenant Kubernetes Clusters | Watch |
| KubeCon EU 2023 | Ilia Medvedev, Kostis Kapelonis | How We Securely Scaled Multi-Tenancy with VCluster, Crossplane, and Argo CD | Watch |
| KubeCon NA 2022 | Joseph Sandoval, Dan Garfield | How Adobe Planned For Scale With Argo CD, Cluster API, And VCluster | Watch |
| KubeCon NA 2022 | Whitney Lee, Mauricio Salatino | What a RUSH! Let's Deploy Straight to Production! | Watch |
| TGI Kubernetes 2022 | TGI | TGI Kubernetes 188: vCluster | Watch |
| Mirantis Tech Talks 2022 | Mirantis | Multi-tenancy & Isolation using Virtual Clusters (vCluster) in K8s | Watch |
| Solo Webinar 2022 | Rich Burroughs, Fabian Keller | Speed your Istio development environment with vCluster | Watch |
| KubeCon NA 2021 | Lukas Gentele | Beyond Namespaces: Virtual Clusters are the Future of Multi-Tenancy | Watch |
ð¬ Community Voice
| Channel | Speaker | Title | Link |
|---|---|---|---|
| TeKanAid 2024 | TeKanAid | Getting Started with vCluster: Build Your IDP with Backstage, Crossplane, and ArgoCD | Watch |
| Rawkode 2021 | David McKay, Lukas Gentele | Hands on Introduction to vCluster | Watch |
| Kubesimplify 2021 | Saiyam Pathak, Lukas Gentele | Let's Learn vCluster | Watch |
| TechWorld with Nana 2021 | Nana | Build your Self-Service Kubernetes Platform with Virtual Clusters | Watch |
| DevOps Toolkit 2021 | Viktor Farcic | How To Create Virtual Kubernetes Clusters | Watch |
ð YouTube Channel ⢠Blog
ð¤ Contributing
We welcome contributions! Check out our Contributing Guide to get started.
ð Links
| Resource | Link |
|---|---|
| ð Documentation | vcluster.com/docs |
| ð¬ Slack Community | slack.loft.sh |
| ð Website | vcluster.com |
| ð¦ X (Twitter) | @vcluster |
| ð¼ LinkedIn | vCluster |
| ð¬ Chat with Expert | Start Chat |
ð License
vCluster is licensed under the Apache 2.0 License.
© 2026 Loft Labs. All rights reserved.
Made with â¤ï¸ by the vCluster community.
â Star us on GitHub â it helps!
Top Related Projects
Home for Cluster API, a subproject of sig-cluster-lifecycle
Little helper to run CNCF's k3s in Docker
Run Kubernetes locally
Lightweight Kubernetes
Kubernetes IN Docker - local clusters for testing Kubernetes
Backup and migrate Kubernetes applications and their persistent volumes
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot