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
Pros of Velero
- Broader scope: Velero provides comprehensive backup and restore capabilities for entire Kubernetes clusters, including persistent volumes.
- Mature project: Velero has been around longer and has a larger community, potentially offering more stability and support.
- Cloud provider integration: Velero supports various cloud providers for storing backups, offering flexibility in deployment scenarios.
Cons of Velero
- Resource intensive: Velero can be more resource-heavy compared to vcluster, especially when backing up large clusters.
- Complexity: Setting up and configuring Velero can be more complex, particularly for smaller deployments or simpler use cases.
- Limited multi-tenancy: While Velero can back up namespaces, it doesn't provide the same level of multi-tenancy isolation as vcluster.
Code Comparison
Velero backup creation:
apiVersion: velero.io/v1
kind: Backup
metadata:
name: example-backup
spec:
includedNamespaces:
- default
vcluster creation:
apiVersion: cluster.loft.sh/v1
kind: VirtualCluster
metadata:
name: example-vcluster
spec:
isolation:
enabled: true
Both projects serve different primary purposes, with Velero focusing on backup and disaster recovery, while vcluster emphasizes creating isolated virtual clusters within a host cluster. The code examples reflect these different focuses, with Velero defining a backup operation and vcluster specifying a virtual cluster configuration.
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
Flexible Tenancy For Kubernetes and AI Infra
Website ⢠Quickstart ⢠Documentation ⢠Blog ⢠Slack
What is vCluster?
vCluster creates fully functional virtual Kubernetes clusters that run inside namespaces of a host cluster. Each virtual cluster has its own API server, runs on shared or dedicated infrastructure, and gives you flexible tenancy optionsâfrom simple namespaces to fully dedicated clusters.
40M+ virtual clusters deployed by companies like Adobe, CoreWeave, Atlan, and NVIDIA.

ð Quick Start
# Install vCluster CLI
brew install loft-sh/tap/vcluster
# Create a virtual cluster
vcluster create my-vcluster --namespace team-x
# Use kubectl as usual - you're now in your virtual cluster!
kubectl get namespaces
Prerequisites: A running Kubernetes cluster and kubectl configured.
ð® Try Without Installing
No Kubernetes cluster? Try vCluster instantly in your browser:
ð What's New
| Version | Feature | Description |
|---|---|---|
| v0.30 | vCluster VPN & Netris Integration | Tailscale-powered overlay network and automated network isolation for hybrid infrastructures |
| v0.29 | Standalone Mode | Run vCluster without a host clusterâdirectly on bare metal or VMs |
| v0.28 | Auto Nodes | Karpenter-powered dynamic autoscaling for private nodes |
| v0.27 | Private Nodes | External nodes with full CNI/CSI isolation |
| v0.26 | Hybrid Scheduling & Namespace Syncing | Multiple scheduler support for AI/ML workloads and fine-grained namespace synchronization |
ð Full Changelog
ð¯ Use Cases
| Use Case | Description | Learn More |
|---|---|---|
| GPU Cloud Providers | Launch managed K8s for GPUs. Give customers isolated, production-grade Kubernetes fast. | View â |
| Internal GPU Platform | Maximize GPU utilization without sacrificing isolation. Self-service access for AI/ML teams. | View â |
| AI Factory | Run AI on-prem where your data lives. Multi-tenant K8s for training, fine-tuning, inference. | View â |
| Bare Metal K8s | Run Kubernetes on bare metal with zero VMs. Isolation without expensive overhead. | View â |
| Software Vendors | Ship Kubernetes-native software. Each customer gets their own isolated virtual cluster. | View â |
| Cost Savings | Cut Kubernetes costs by consolidating clusters. Sleep mode pauses inactive clusters. | View â |
ðï¸ Architectures
vCluster offers multiple deployment architectures. Each builds on the previous, offering progressively more isolation.
Architecture Comparison
| Shared Nodes | Dedicated Nodes | Private Nodes | Standalone | |
|---|---|---|---|---|
| Host Cluster | Required | Required | Required | Not Required |
| Node Isolation | â | â | â | â |
| CNI/CSI Isolation | â | â | â | â |
| Best For | Dev/test, cost | Production | Compliance, GPU | Bare metal, edge |
Minimal Configuration
ð¹ Shared Nodes â Maximum density, minimum cost
Virtual clusters share the host 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
Virtual clusters get their own set of labeled host nodes. Workloads are isolated but still managed by the host.
sync:
fromHost:
nodes:
enabled: true
selector:
labels:
tenant: my-tenant
ð¹ Private Nodes v0.27+ â Full CNI/CSI isolation
External nodes join the virtual cluster directly with their own CNI, CSI, and networking stack. Complete workload isolation from the host cluster.
privateNodes:
enabled: true
controlPlane:
service:
spec:
type: NodePort
ð¹ vCluster Standalone v0.29+ â No host cluster required
Run vCluster without any host cluster. Deploy the 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 Control Plane | Each vCluster gets its own API server, controller manager, and data storeâcomplete Kubernetes API isolation |
| ð Shared Platform Stack | Leverage the host cluster's CNI, CSI, ingress, and other infrastructureâno duplicate platform components |
| ð Security & Multi-Tenancy | Tenants get admin access inside their vCluster while having minimal permissions on the host cluster |
| ð Resource Syncing | Bidirectional sync of any Kubernetes resource. Pods, services, secrets, configmaps, CRDs, and more |
| ð¤ Sleep Mode | Pause inactive virtual clusters to save resources. Instant wake when needed |
| ð 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) |
ð¢ Trusted By
| Atlan 100 â 1 clusters |
Aussie Broadband 99% faster provisioning |
CoreWeave GPU cloud at scale |
| Lintasarta 170+ virtual clusters in prod |
Fortune 500 Insurance Company 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, Lintasarta, Precisely, Shipwire, Trade Connectors, and many more.
ð 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